After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 694771 - menus broken in 3.7.10
menus broken in 3.7.10
Status: RESOLVED FIXED
Product: mutter
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: mutter-maint
mutter-maint
: 694459 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2013-02-26 23:04 UTC by Matthias Clasen
Modified: 2013-03-05 10:51 UTC
See Also:
GNOME target: 3.8
GNOME version: ---


Attachments
Always send _NET_WM_FRAME_DRAWN for newly created windows (2.60 KB, patch)
2013-02-28 21:15 UTC, Owen Taylor
reviewed Details | Review

Description Matthias Clasen 2013-02-26 23:04:53 UTC
With 3.7.10, I'm seeing broken behaviour where the highlight is not following the mouse beyond the first menu I'm opening in a menubar. It is not working in context menus either. Clicking on menuitems still triggers the action.
Comment 1 Cosimo Cecchi 2013-02-27 00:21:55 UTC
*** Bug 694459 has been marked as a duplicate of this bug. ***
Comment 2 Cosimo Cecchi 2013-02-27 18:39:50 UTC
More data points:
- the GTK commit that breaks this is between 69f457426ae2a7b1e2cb8e74034a636831aae079 (good) and 0def26ecf1834c1ca916328460263dede160611a (bad). I wasn't able to bisect it down to the exact commit, since some of the commits in between don't work/don't build, but this should narrow it down quite a bit.
- with GTK master, the bug doesn't reproduce with Mutter 3.7.5.
Comment 3 Owen Taylor 2013-02-28 21:15:18 UTC
Created attachment 237651 [details] [review]
Always send _NET_WM_FRAME_DRAWN for newly created windows

Send a _NET_WM_FRAME_DRAWN for each newly created window, as required
by the specification. This avoids a race where a window might be created
frozen but already unfrozen by the time we first see fetch the
counter value.

Remove a duplicate call to meta_compositor_set_updates_frozen() which
was called before the MetaWindowActor is created and hence did nothing.
Comment 4 Owen Taylor 2013-02-28 21:15:57 UTC
Reassigning to Mutter
Comment 5 drago01 2013-02-28 22:43:14 UTC
Review of attachment 237651 [details] [review]:

Code makes sense I have no idea how to reproduce the bug to verify that it actually works though.

So assuming you did that it is fine (with the comment fixed, see below).

::: src/compositor/meta-window-actor.c
@@ +1563,3 @@
 
+  /* If a window doesn't start off with updates frozen, we should
+   * we should send a _NET_WM_FRAME_DRAWN immediately after the first drawn.

"we should" once is enough ;)
Comment 6 Mantas Mikulėnas (grawity) 2013-02-28 22:51:09 UTC
(In reply to comment #5)
> Review of attachment 237651 [details] [review]:
> 
> Code makes sense I have no idea how to reproduce the bug to verify that it
> actually works though.

On my system, opening a menu (especially context menus in nautilus) is usually enough to reproduce. The patch fixes it for me.