<html>
<head>
<base href="https://bugzilla.gnome.org/" />
</head>
<body><span class="vcard"><a href="page.cgi?id=describeuser.html&login=tiagomatos%40gmail.com" title="Rui Matos <tiagomatos@gmail.com>"> <span class="fn">Rui Matos</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW - wayland: Switching between fullscreen and unfullscreen using F11 in google-chrome causes gnome-shell to hang"
href="https://bugzilla.gnome.org/show_bug.cgi?id=762618">bug 762618</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">CC</td>
<td>
</td>
<td>ebassi@gmail.com
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - wayland: Switching between fullscreen and unfullscreen using F11 in google-chrome causes gnome-shell to hang"
href="https://bugzilla.gnome.org/show_bug.cgi?id=762618#c10">Comment # 10</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - wayland: Switching between fullscreen and unfullscreen using F11 in google-chrome causes gnome-shell to hang"
href="https://bugzilla.gnome.org/show_bug.cgi?id=762618">bug 762618</a>
from <span class="vcard"><a href="page.cgi?id=describeuser.html&login=tiagomatos%40gmail.com" title="Rui Matos <tiagomatos@gmail.com>"> <span class="fn">Rui Matos</span></a>
</span></b>
<pre>(In reply to Jasper St. Pierre from <a href="show_bug.cgi?id=762618#c5">comment #5</a>)
<span class="quote">> Input events need to be processed with a higher priority than protocol
> events. I don't know if it will fix this bug, but it's the correct thing to
> do.</span >
Yeah, we're not doing that unfortunately. We have several event sources in our
main loop:
a) libinput's fd in clutter's evdev backend
b) mutter's X frontend fd (which actually is from gdk's x11 backend)
c) mutter's wayland frontend fd
d) cogl's kms winsys fd which process drm page flips
e) random glib timeouts
f) clutter's master clock
clutter's master clock uses G_PRIORITY_HIGH_IDLE + 50 and all others use
G_PRIORITY_DEFAULT. The problem is that our input event processing happens from
within clutter's master clock dispatch function which given its lower priority
means that it won't run as long as there are events on any other source which
explains the behavior reported here.
Note that event reading from libinput just queues events into the clutter stage
which wakes the main loop and thus causes the master clock source to dispatch
only indirectly.
One thing we could do is process clutter input events directly from the evdev
backend. But I'm not sure if clutter's internals would break due to that.
Emmanuele?
Another option is of course to leave this unfixed until we merge clutter?</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>