<html>
    <head>
      <base href="https://bugzilla.gnome.org/" />
    </head>
    <body>
      <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#c4">Comment # 4</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=ofourdan%40redhat.com" title="Olivier Fourdan <ofourdan@redhat.com>"> <span class="fn">Olivier Fourdan</span></a>
</span></b>
        <pre>So here is what I think is happening:

1. Press F11 to switch to fullscreen
2. Press F11 to switch back to normal
3. The HW is pretty slow, shell_util_get_content_for_window_actor() takes a
noticeable time to complete
4. the Key release is lost/eaten somehow between gnome-shell and Xwayland
5. Xwayland doesn't get the Key release and therefore performs auto-repeat
6. Xwayland generates Key press/release events sent to the application
7. the application changes its state to/from fullscreen
8. gnome-shell is too busy dealing with the state changes that queue up (as
shell_util_get_content_for_window_actor takes a lot of time) and doesn't
process input events (the pointer is stuck as well)
9. we're doomed, XWayland keeps sending press/release events faster than
gnome-shell can deal wit hteh consequences of the app changing state ...

=> The question is why don't Xwayland get the Key release in the first place,
that's what is causing the key repeat.

(hint, disabling key auto-repeat avoids the issue)</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>