Warning, /graphics/krita/3rdparty/ext_qt/0111-Fix-unbalanced-KeyPress-Release-events-in-children-o.patch is written in an unsupported language. File is not indexed.

0001 From 55e6e6e995e642153abb95d3886a1ddf036c9de6 Mon Sep 17 00:00:00 2001
0002 From: Dmitry Kazakov <dimula73@gmail.com>
0003 Date: Sat, 13 Feb 2021 16:46:55 +0300
0004 Subject: [PATCH 07/43] Fix unbalanced KeyPress/Release events in children of
0005  QMdiArea
0006 
0007 When the user presses Ctrl+Tab, QMdiArea is supposed to switch
0008 the active child window. When doing so, it eats the event. The
0009 problem is that is doesn't eat the ShortcutOverride event,
0010 which is kept unbalanced with the absent KeyRelease event.
0011 
0012 See https://bugs.kde.org/show_bug.cgi?id=424319
0013 ---
0014  src/widgets/widgets/qmdiarea.cpp | 6 ++++--
0015  1 file changed, 4 insertions(+), 2 deletions(-)
0016 
0017 diff --git a/src/widgets/widgets/qmdiarea.cpp b/src/widgets/widgets/qmdiarea.cpp
0018 index f32cd26478..d493a32b60 100644
0019 --- a/src/widgets/widgets/qmdiarea.cpp
0020 +++ b/src/widgets/widgets/qmdiarea.cpp
0021 @@ -2555,7 +2555,9 @@ bool QMdiArea::eventFilter(QObject *object, QEvent *event)
0022  
0023      Q_D(QMdiArea);
0024      // Global key events with Ctrl modifier.
0025 -    if (event->type() == QEvent::KeyPress || event->type() == QEvent::KeyRelease) {
0026 +    if (event->type() == QEvent::KeyPress ||
0027 +        event->type() == QEvent::KeyRelease ||
0028 +        event->type() == QEvent::ShortcutOverride) {
0029  
0030          QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
0031          // Ingore key events without a Ctrl modifier (except for press/release on the modifier itself).
0032 @@ -2571,7 +2573,7 @@ bool QMdiArea::eventFilter(QObject *object, QEvent *event)
0033          if (!area)
0034              return QAbstractScrollArea::eventFilter(object, event);
0035  
0036 -        const bool keyPress = (event->type() == QEvent::KeyPress);
0037 +        const bool keyPress = event->type() == QEvent::ShortcutOverride || event->type() == QEvent::KeyPress;
0038  
0039          // 1) Ctrl-Tab once -> activate the previously active window.
0040          // 2) Ctrl-Tab (Tab, Tab, ...) -> iterate through all windows (activateNextSubWindow()).
0041 -- 
0042 2.20.1.windows.1
0043