<html>
    <head>
      <base href="https://bugzilla.gnome.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - wayland: focus issue with gnome-terminal"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=748892#c13">Comment # 13</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - wayland: focus issue with gnome-terminal"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=748892">bug 748892</a>
              from <span class="vcard"><a href="page.cgi?id=describeuser.html&login=carlosg%40gnome.org" title="Carlos Garnacho <carlosg@gnome.org>"> <span class="fn">Carlos Garnacho</span></a>
</span></b>
        <pre>(In reply to Olivier Fourdan from <a href="show_bug.cgi?id=748892#c12">comment #12</a>)
<span class="quote">> I doubt this is specific to GtkMenu tbh, maybe gdk-wayland backend.</span >

Yeah, my suspicion involving GtkMenu also involved GDK getting it into a
confused state (eg. not sending GdkEventGrabBroken properly or somesuch)

<span class="quote">> 
> It seems to me that the grabs get released when a "grab-notify" signal is
> emitted from  _gtk_widget_grab_notify() called by
> gtk_grab_notify()/gtk_grab_notify_foreach() in gtk/gtkmain.c </span >

I'm talking about GDK grabs, although those usually go hand in hand with GTK+
ones.

<span class="quote">> 
> In the case of a GtkMenu with a window-group, that signal is not emitted for
> the GtkMenu because of the portion of code the patch removes when using
> Wayland (I do have a branch with tons of logs added that tend to show this,
> I can share the -ugly- patch and/or logs if needed)

> I think we do not see this in x11 simply because the grab gets released
> automatically by the X server when the window menu is unmapped but Wayland
> has no grab per se (yet) so this is all managed by signals in gtk. 

> Or am I mistaken?</span >

Yes, right. X11 defines how do grabs interact, and the grab mechanism in GDK is
largely based on it (in order to cater for client-side windows). On other
backends we must emulate a similar behavior out of the platform specific
semantics.</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>