diff options
author | David Rosca <nowrep@gmail.com> | 2021-08-05 06:26:34 +0200 |
---|---|---|
committer | Tudor Brindus <vulcainus@gmail.com> | 2021-08-05 09:26:11 -0400 |
commit | d0fe721fbbfbbdced91b94889c863c68c33c8125 (patch) | |
tree | 9659dec4949f0e5d3a3be5d865adccde3b80cd8d /include | |
parent | man: update Pango font description URL (diff) | |
download | sway-d0fe721fbbfbbdced91b94889c863c68c33c8125.tar.gz sway-d0fe721fbbfbbdced91b94889c863c68c33c8125.tar.zst sway-d0fe721fbbfbbdced91b94889c863c68c33c8125.zip |
seatop_down: Change type of sx, sy to double in begin_seatop_down
Losing the precision resulted in wlr_cursor and wlr_seat::pointer_state
getting out of sync during pointer motion in seatop_down.
Since the difference was always under 1 px, it was practically
impossible to notice in normal use.
But because of being out of sync, cursor_rebase would always end up
incorrectly calling wlr_seat_pointer_notify_motion from
seatop_default_begin (on releasing mouse button) which broke cursor
locking.
See #5405
Closes #4632
Diffstat (limited to 'include')
-rw-r--r-- | include/sway/input/seat.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h index 4118df66..a2b5d2a1 100644 --- a/include/sway/input/seat.h +++ b/include/sway/input/seat.h | |||
@@ -239,7 +239,7 @@ enum wlr_edges find_resize_edge(struct sway_container *cont, | |||
239 | void seatop_begin_default(struct sway_seat *seat); | 239 | void seatop_begin_default(struct sway_seat *seat); |
240 | 240 | ||
241 | void seatop_begin_down(struct sway_seat *seat, struct sway_container *con, | 241 | void seatop_begin_down(struct sway_seat *seat, struct sway_container *con, |
242 | uint32_t time_msec, int sx, int sy); | 242 | uint32_t time_msec, double sx, double sy); |
243 | 243 | ||
244 | void seatop_begin_move_floating(struct sway_seat *seat, | 244 | void seatop_begin_move_floating(struct sway_seat *seat, |
245 | struct sway_container *con); | 245 | struct sway_container *con); |