diff options
author | Marco Martin <mart@kde.org> | 2017-11-16 15:28:40 +0100 |
---|---|---|
committer | Kai Uwe Broulik <kde@privat.broulik.de> | 2017-11-22 11:05:42 +0000 |
commit | a79feeee451bcf28673292555795677a789e8513 (patch) | |
tree | 03c9ce4dd1030332cfbf2a17b945015b62d87a8a /src/quick/util/qquickshortcut.cpp | |
parent | 36ce1490fc541489f9091e9d91234aeac4f9df90 (diff) |
watch for the actual render window if there is a QQuickRenderControl
if the scene is rendered by a QQuickRenderControl and we have a different
target window (for instance QQuickWidget) we check the target window of
the render control instead of the own window, this fixes window keyboard
shortcuts for QQuickWidget
Task-number: QTBUG-64548
Change-Id: I7614be580f2a707c752189e4c9b53a5d5f0159d7
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/quick/util/qquickshortcut.cpp')
-rw-r--r-- | src/quick/util/qquickshortcut.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/quick/util/qquickshortcut.cpp b/src/quick/util/qquickshortcut.cpp index 2fe4962b1a..58f7fc8439 100644 --- a/src/quick/util/qquickshortcut.cpp +++ b/src/quick/util/qquickshortcut.cpp @@ -41,6 +41,7 @@ #include <QtQuick/qquickitem.h> #include <QtQuick/qquickwindow.h> +#include <QtQuick/qquickrendercontrol.h> #include <QtQuick/private/qtquickglobal_p.h> #include <QtGui/private/qguiapplication_p.h> @@ -102,6 +103,8 @@ static bool qQuickShortcutContextMatcher(QObject *obj, Qt::ShortcutContext conte if (QQuickItem *item = qobject_cast<QQuickItem *>(obj)) obj = item->window(); } + if (QWindow *renderWindow = QQuickRenderControl::renderWindowFor(qobject_cast<QQuickWindow *>(obj))) + obj = renderWindow; return obj && obj == QGuiApplication::focusWindow(); default: return false; |