diff options
author | Samuel Nevala <samuel.nevala@intopalo.com> | 2015-11-16 15:47:46 +0200 |
---|---|---|
committer | Samuel Nevala <samuel.nevala@intopalo.com> | 2015-11-19 16:19:49 +0000 |
commit | dd3be4fbac09f1a085086f1ea400e6637ae68c10 (patch) | |
tree | 6e54d9ce5e305e495a6bb9575e5616770416b872 /src/plugins/platforms/winrt/qwinrtintegration.cpp | |
parent | 97c8f6aa9c774aa0aac8948dd619e93944ec104a (diff) |
winrt: Use handleExtendedKeyEvent when handling back button.
QWindowSystemInterface::handleKeyEvent runs the shortcut override
unconditionally; use QWindowSystemInterface::handleExtendedKeyEvent
instead, because it allows bypassing the override (as the back button
press is not a valid shortcut). This also prevents an unnecessary mutex
lock.
Change-Id: I8d8bb957e1556ac47e031cfe6fca6481f7c3220d
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Diffstat (limited to 'src/plugins/platforms/winrt/qwinrtintegration.cpp')
-rw-r--r-- | src/plugins/platforms/winrt/qwinrtintegration.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/platforms/winrt/qwinrtintegration.cpp b/src/plugins/platforms/winrt/qwinrtintegration.cpp index 23bb6c16ec..9db5df995a 100644 --- a/src/plugins/platforms/winrt/qwinrtintegration.cpp +++ b/src/plugins/platforms/winrt/qwinrtintegration.cpp @@ -260,8 +260,10 @@ HRESULT QWinRTIntegration::onBackButtonPressed(IInspectable *, IBackPressedEvent Q_D(QWinRTIntegration); QWindow *window = d->mainScreen->topWindow(); QWindowSystemInterface::setSynchronousWindowSystemEvents(true); - const bool pressed = QWindowSystemInterface::handleKeyEvent(window, QEvent::KeyPress, Qt::Key_Back, Qt::NoModifier); - const bool released = QWindowSystemInterface::handleKeyEvent(window, QEvent::KeyRelease, Qt::Key_Back, Qt::NoModifier); + const bool pressed = QWindowSystemInterface::handleExtendedKeyEvent(window, QEvent::KeyPress, Qt::Key_Back, Qt::NoModifier, + 0, 0, 0, QString(), false, 1, false); + const bool released = QWindowSystemInterface::handleExtendedKeyEvent(window, QEvent::KeyRelease, Qt::Key_Back, Qt::NoModifier, + 0, 0, 0, QString(), false, 1, false); QWindowSystemInterface::setSynchronousWindowSystemEvents(false); args->put_Handled(pressed || released); return S_OK; |