input: only cancel selection on left mouse button clicks

This commit is contained in:
Daniel Eklöf 2020-04-04 11:57:08 +02:00
parent ea2897582f
commit 210c0ee5cd
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -1175,6 +1175,8 @@ wl_pointer_button(void *data, struct wl_pointer *wl_pointer,
switch (state) {
case WL_POINTER_BUTTON_STATE_PRESSED: {
if (button == BTN_LEFT) {
selection_cancel(term);
switch (wayl->mouse.count) {
case 1:
selection_start(
@ -1211,7 +1213,6 @@ wl_pointer_button(void *data, struct wl_pointer *wl_pointer,
execute_binding(term, binding->action, serial);
break;
}
selection_cancel(term);
}
term_mouse_down(term, button, wayl->mouse.row, wayl->mouse.col);
@ -1219,9 +1220,7 @@ wl_pointer_button(void *data, struct wl_pointer *wl_pointer,
}
case WL_POINTER_BUTTON_STATE_RELEASED:
if (button != BTN_LEFT || term->selection.end.col == -1)
selection_cancel(term);
else
if (button == BTN_LEFT && term->selection.end.col != -1)
selection_finalize(term, serial);
term_mouse_up(term, button, wayl->mouse.row, wayl->mouse.col);