summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Gräßlin <mgraesslin@kde.org>2015-05-15 09:49:58 +0200
committerMartin Gräßlin <mgraesslin@kde.org>2015-05-15 08:01:01 +0000
commit11a28b2fed8e15f755ded5c1368386ce8ad428e2 (patch)
tree890348963ec2618dd43b72737aae7faa30dd88a7
parent007d73ef9e64a99e560cc932f519f8cb00121ba8 (diff)
Add safety check in QWaylandInputDevice::Keyboard::modifiers()
::modifiers() might be invoked before being initialised. E.g. when a pointer button event is emitted before the keymap is sent. Change-Id: Ib95f9866d808b2a32ddfaa0862cdb3226fab1938 Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
-rw-r--r--src/client/qwaylandinputdevice.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
index 3ea9e927f..76ae25869 100644
--- a/src/client/qwaylandinputdevice.cpp
+++ b/src/client/qwaylandinputdevice.cpp
@@ -299,6 +299,9 @@ Qt::KeyboardModifiers QWaylandInputDevice::Keyboard::modifiers() const
Qt::KeyboardModifiers ret = Qt::NoModifier;
#ifndef QT_NO_WAYLAND_XKB
+ if (!mXkbState)
+ return ret;
+
xkb_state_component cstate = static_cast<xkb_state_component>(XKB_STATE_DEPRESSED | XKB_STATE_LATCHED);
if (xkb_state_mod_name_is_active(mXkbState, XKB_MOD_NAME_SHIFT, cstate))