Fix rootston seat button count

This commit is contained in:
emersion 2017-12-22 15:06:12 +01:00
parent 0a370c5298
commit 9e2d936b4a
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48

View file

@ -166,6 +166,13 @@ static void roots_cursor_press_button(struct roots_cursor *cursor,
} }
return; return;
} }
if (state == WLR_BUTTON_RELEASED &&
cursor->mode != ROOTS_CURSOR_PASSTHROUGH) {
cursor->mode = ROOTS_CURSOR_PASSTHROUGH;
if (seat->seat->pointer_state.button_count == 0) {
return;
}
}
uint32_t serial; uint32_t serial;
if (is_touch) { if (is_touch) {
@ -178,7 +185,6 @@ static void roots_cursor_press_button(struct roots_cursor *cursor,
int i; int i;
switch (state) { switch (state) {
case WLR_BUTTON_RELEASED: case WLR_BUTTON_RELEASED:
seat->cursor->mode = ROOTS_CURSOR_PASSTHROUGH;
if (!is_touch) { if (!is_touch) {
roots_cursor_update_position(cursor, time); roots_cursor_update_position(cursor, time);
} }