]> git.mdlowis.com Git - proto/labwc.git/commit
cursor: Allow leave/enter events within the same XDG toplevel
authorJohn Lindgren <john@jlindgren.net>
Sat, 10 Sep 2022 05:57:39 +0000 (01:57 -0400)
committerJohn Lindgren <john@jlindgren.net>
Tue, 13 Sep 2022 19:57:20 +0000 (15:57 -0400)
commite18f7a32ba072fa7763b1c0742000e93f366d6ab
tree38e55843abb763e5bb99faaaedb16c979cf6d4ce
parenta8fbe1aac207cf7efe8c2f464de3c83c107818dd
cursor: Allow leave/enter events within the same XDG toplevel

Attempting to open a GTK3 menu and activate a menu item in it,
using a single mouse motion (press-move-release), was broken due
to GTK apparently expecting to receive leave/enter events when the
cursor enters the menu (XDG popup).

To fix the issue, allow leave/enter events when the cursor is
moved between an XDG toplevel and popups of the same.

v2:
 - Use (struct view *) as proxy for toplevel in comparisons
 - Update seat->pressed.surface when entering/leaving popups
v3:
 - Go back to using get_toplevel() rather than (struct view *)
include/labwc.h
src/cursor.c
src/seat.c