summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qguiapplication.cpp
diff options
context:
space:
mode:
authorBradley T. Hughes <bradley.hughes@nokia.com>2012-03-22 17:43:25 +0100
committerQt by Nokia <qt-info@nokia.com>2012-03-26 08:47:48 +0200
commitb2363a935c8dac2c332c79d4c10c99be89656047 (patch)
treeb1af0d6eb3c699f7806d773d5755a2fbeb749229 /src/gui/kernel/qguiapplication.cpp
parent37010812a273c98272ae5d960c46b3e909c3a36a (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.cpp4
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).