commit 0dbf2673a1f4c8ece52b4e161e344bf90d658b7c
parent c54258f323aeed8ae6c97b32447bf9c392896ffe
Author: Brian Ashworth <bosrsf04@gmail.com>
Date: Sat, 29 Dec 2018 00:30:27 -0500
Remove button from state on release during op
This fixes a bug in `dispatch_cursor_button` where if there was an
operation occurring, the button would not be removed from the state on
release. This resulted in the button appearing to be permanently pressed
and caused mouse bindings to not match correctly.
Diffstat:
1 file changed, 5 insertions(+), 0 deletions(-)
diff --git a/sway/input/cursor.c b/sway/input/cursor.c
@@ -825,6 +825,11 @@ void dispatch_cursor_button(struct sway_cursor *cursor,
seat_end_mouse_operation(seat);
seat_pointer_notify_button(seat, time_msec, button, state);
}
+ if (state == WLR_BUTTON_PRESSED) {
+ state_add_button(cursor, button);
+ } else {
+ state_erase_button(cursor, button);
+ }
return;
}