https://bugs.kde.org/show_bug.cgi?id=438784

Dmitry Kazakov <dimul...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/grap |https://invent.kde.org/grap
                   |hics/krita/commit/58392a1f9 |hics/krita/commit/d2b028c9f
                   |ae446da3f48c632f2bfe68d10a6 |c8dbe427d944f26b34b83360761
                   |0ee4                        |4e4d

--- Comment #17 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit d2b028c9fc8dbe427d944f26b34b833607614e4d by Dmitry Kazakov.
Committed on 08/01/2022 at 14:21.
Pushed by dkazakov into branch 'krita/5.0'.

Fix Krita forgetting about pressed keys when tapping Ctrl too quickly

Under some circumstances, KeyPress/KeyRelease event comes **after**
a tablet move event with already updated state. It is not very clear
how that happens, but it is surely not impossible. Qt fills modifiers
event property by reading some global storage, so it is possible that
this state is not entirely in sync with the events queue.

The patch does two fixes:

1) KisShortcutMatcher::recoveryModifiersWithoutFocus() used
RecursionNotifier incorrectly, causing keyReleased() and keyPressed()
to reset the state.

2) KisShortcutMatcher::keyReleased() now doesn't reset the state when
discovering inconsistent key release. This change is a bit scary,
because it may lead to longer recovery time when Krita faces a real
trouble with events. But in general it looks "correct".
(cherry picked from commit 58392a1f9ae446da3f48c632f2bfe68d10a60ee4)

M  +5    -4    libs/ui/input/kis_shortcut_matcher.cpp

https://invent.kde.org/graphics/krita/commit/d2b028c9fc8dbe427d944f26b34b833607614e4d

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to