diff options
author | Bradley T. Hughes <bradley.hughes@nokia.com> | 2012-03-22 17:43:25 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-26 08:47:48 +0200 |
commit | b2363a935c8dac2c332c79d4c10c99be89656047 (patch) | |
tree | b1af0d6eb3c699f7806d773d5755a2fbeb749229 /src/gui/kernel/qguiapplication.cpp | |
parent | 37010812a273c98272ae5d960c46b3e909c3a36a (diff) |
Fix QGuiApplication::keyboardModifiers()
Make sure that the keybaord modifiers are maintained properly when
handling window system events.
Change-Id: Ie75cbe5eb509c29e3d2291694f2de509fbf3098a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src/gui/kernel/qguiapplication.cpp')
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index e12183869a..5a95ebe848 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -1005,6 +1005,7 @@ void QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::Mo } QWindow *window = e->window.data(); + modifier_buttons = e->modifiers; if (!window) window = QGuiApplication::topLevelAt(e->globalPos.toPoint()); @@ -1107,6 +1108,7 @@ void QGuiApplicationPrivate::processWheelEvent(QWindowSystemInterfacePrivate::Wh QPointF globalPoint = e->globalPos; QGuiApplicationPrivate::lastCursorPosition = globalPoint; + modifier_buttons = e->modifiers; QWindow *window = e->window.data(); @@ -1123,6 +1125,7 @@ void QGuiApplicationPrivate::processWheelEvent(QWindowSystemInterfacePrivate::Wh void QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent *e) { QWindow *window = e->window.data(); + modifier_buttons = e->modifiers; if (e->nullWindow) window = QGuiApplication::activeWindow(); if (!window) @@ -1280,6 +1283,7 @@ Q_GUI_EXPORT bool operator==(const QGuiApplicationPrivate::ActiveTouchPointsKey void QGuiApplicationPrivate::processTouchEvent(QWindowSystemInterfacePrivate::TouchEvent *e) { QGuiApplicationPrivate *d = self; + modifier_buttons = e->modifiers; if (e->touchType == QEvent::TouchCancel) { // The touch sequence has been canceled (e.g. by the compositor). |