<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>