Merge branch 'improve-mouse-button-multi-click'

Closes #883
This commit is contained in:
Daniel Eklöf 2022-01-13 11:22:50 +01:00
commit 7bb8d48b75
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 10 additions and 0 deletions

View file

@ -82,6 +82,9 @@
* Failure to launch when `exec(3):ed with an empty argv. * Failure to launch when `exec(3):ed with an empty argv.
* Pasting from the primary clipboard (mouse middle clicking) did not * Pasting from the primary clipboard (mouse middle clicking) did not
reset the scrollback view to the bottom. reset the scrollback view to the bottom.
* Wrong mouse binding triggered when doing two mouse selections in
very quick (< 300ms) succession
(https://codeberg.org/dnkl/foot/issues/883).
### Security ### Security

View file

@ -2046,6 +2046,13 @@ wl_pointer_motion(void *data, struct wl_pointer *wl_pointer,
bool cursor_is_on_new_cell bool cursor_is_on_new_cell
= old_col != seat->mouse.col || old_row != seat->mouse.row; = old_col != seat->mouse.col || old_row != seat->mouse.row;
if (cursor_is_on_new_cell) {
/* Prevent multiple/different mouse bindings from
* triggering if the mouse has moved too much (to
* another cell) */
seat->mouse.count = 0;
}
/* Cursor is inside the grid, i.e. *not* in the margins */ /* Cursor is inside the grid, i.e. *not* in the margins */
const bool cursor_is_on_grid = seat->mouse.col >= 0 && seat->mouse.row >= 0; const bool cursor_is_on_grid = seat->mouse.col >= 0 && seat->mouse.row >= 0;