From a79feeee451bcf28673292555795677a789e8513 Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Thu, 16 Nov 2017 15:28:40 +0100 Subject: 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 --- src/quick/util/qquickshortcut.cpp | 3 +++ 1 file changed, 3 insertions(+) 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 #include +#include #include #include @@ -102,6 +103,8 @@ static bool qQuickShortcutContextMatcher(QObject *obj, Qt::ShortcutContext conte if (QQuickItem *item = qobject_cast(obj)) obj = item->window(); } + if (QWindow *renderWindow = QQuickRenderControl::renderWindowFor(qobject_cast(obj))) + obj = renderWindow; return obj && obj == QGuiApplication::focusWindow(); default: return false; -- cgit v1.2.3