input: workaround GNOME issue with pointer button events

Under certain circumstances, GNOME will send multiple pointer button
press events, without any release or leave events in between.

This trips up our button tracking.

Workaround, by replacing the existing state for the pressed button
with the new state.

Previously, debug builds would assert (and thus crash), while release
builds would have multiple states for the same button,
causing (probably) issues like the title bar not being usable (as in,
cannot be dragged, buttons not working etc).

Hopefully closes #709
This commit is contained in:
Daniel Eklöf 2021-09-06 18:12:45 +02:00
parent 4853bcd139
commit e553e1076c
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 63 additions and 45 deletions

View file

@ -53,6 +53,12 @@
### Deprecated
### Removed
### Fixed
* Added workaround for GNOME bug where multiple button press events
(for the same button) is sent to the CSDs without any release or
leave events in between (https://codeberg.org/dnkl/foot/issues/709).
### Security
### Contributors