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 |
||
|---|---|---|
| .. | ||
| cursor.c | ||
| input-manager.c | ||
| keyboard.c | ||
| libinput.c | ||
| seat.c | ||
| seatop_default.c | ||
| seatop_down.c | ||
| seatop_move_floating.c | ||
| seatop_move_tiling.c | ||
| seatop_resize_floating.c | ||
| seatop_resize_tiling.c | ||
| switch.c | ||
| tablet.c | ||
| text_input.c | ||