aboutsummaryrefslogtreecommitdiffstats
path: root/sway/input/seatop_default.c
diff options
context:
space:
mode:
authorLibravatar Nick Diego Yamane <nickdiego@igalia.com>2020-04-16 00:32:18 -0400
committerLibravatar Simon Ser <contact@emersion.fr>2020-05-01 10:56:14 +0200
commit091f580b7cb0df92f0f6e0be34b52f8abfdbe97a (patch)
treea15948a2ef8fa11ba90dc0b7b6b577dfd67a8dd9 /sway/input/seatop_default.c
parentbuild: improve feature summary (diff)
downloadsway-091f580b7cb0df92f0f6e0be34b52f8abfdbe97a.tar.gz
sway-091f580b7cb0df92f0f6e0be34b52f8abfdbe97a.tar.zst
sway-091f580b7cb0df92f0f6e0be34b52f8abfdbe97a.zip
input/seatop_default: properly notify pointer leave
Currently, clients receive wl_data_device::leave events only when the pointer enters another surface, which leads to issues, such as #5220. This happens because wlr_seat_pointer_notify_enter() is called when handling motion events only for non-NULL surfaces. Fixes #5220
Diffstat (limited to 'sway/input/seatop_default.c')
-rw-r--r--sway/input/seatop_default.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sway/input/seatop_default.c b/sway/input/seatop_default.c
index d20048d5..8513e314 100644
--- a/sway/input/seatop_default.c
+++ b/sway/input/seatop_default.c
@@ -219,6 +219,7 @@ static void cursor_do_rebase(struct sway_cursor *cursor, uint32_t time_msec,
219 } 219 }
220 220
221 if (surface == NULL) { 221 if (surface == NULL) {
222 wlr_seat_pointer_notify_enter(wlr_seat, NULL, 0, 0);
222 wlr_seat_pointer_clear_focus(wlr_seat); 223 wlr_seat_pointer_clear_focus(wlr_seat);
223 } 224 }
224} 225}