aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Alex Maese <memaese@hotmail.com>2019-04-25 11:35:18 -0500
committerLibravatar Simon Ser <contact@emersion.fr>2019-04-28 21:07:47 +0300
commit5b454ac441a5ec35d6370bb6391b0f8f2f4c58aa (patch)
treed76b87dc0655dcaaeef4881f0ae2f70ab0ae5889
parentClear pointer focus during move and resize seatops (diff)
downloadsway-5b454ac441a5ec35d6370bb6391b0f8f2f4c58aa.tar.gz
sway-5b454ac441a5ec35d6370bb6391b0f8f2f4c58aa.tar.zst
sway-5b454ac441a5ec35d6370bb6391b0f8f2f4c58aa.zip
Don't send pointer motion when rebasing the cursor
-rw-r--r--sway/input/seatop_default.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sway/input/seatop_default.c b/sway/input/seatop_default.c
index 9aa4ab1f..3609fbee 100644
--- a/sway/input/seatop_default.c
+++ b/sway/input/seatop_default.c
@@ -193,11 +193,9 @@ static void cursor_do_rebase(struct sway_cursor *cursor, uint32_t time_msec,
193 struct sway_node *node, struct wlr_surface *surface, 193 struct sway_node *node, struct wlr_surface *surface,
194 double sx, double sy) { 194 double sx, double sy) {
195 struct wlr_seat *wlr_seat = cursor->seat->wlr_seat; 195 struct wlr_seat *wlr_seat = cursor->seat->wlr_seat;
196 // Handle cursor image
197 if (surface) { 196 if (surface) {
198 if (seat_is_input_allowed(cursor->seat, surface)) { 197 if (seat_is_input_allowed(cursor->seat, surface)) {
199 wlr_seat_pointer_notify_enter(wlr_seat, surface, sx, sy); 198 wlr_seat_pointer_notify_enter(wlr_seat, surface, sx, sy);
200 wlr_seat_pointer_notify_motion(wlr_seat, time_msec, sx, sy);
201 } 199 }
202 } else if (node && node->type == N_CONTAINER) { 200 } else if (node && node->type == N_CONTAINER) {
203 // Try a node's resize edge 201 // Try a node's resize edge
@@ -462,6 +460,9 @@ static void handle_motion(struct sway_seat *seat, uint32_t time_msec,
462 } 460 }
463 461
464 cursor_do_rebase(cursor, time_msec, node, surface, sx, sy); 462 cursor_do_rebase(cursor, time_msec, node, surface, sx, sy);
463 if (surface && seat_is_input_allowed(cursor->seat, surface)) {
464 wlr_seat_pointer_notify_motion(wlr_seat, time_msec, sx, sy);
465 }
465 466
466 struct sway_drag_icon *drag_icon; 467 struct sway_drag_icon *drag_icon;
467 wl_list_for_each(drag_icon, &root->drag_icons, link) { 468 wl_list_for_each(drag_icon, &root->drag_icons, link) {