diff options
author | Martin Gräßlin <mgraesslin@kde.org> | 2015-05-15 09:49:58 +0200 |
---|---|---|
committer | Martin Gräßlin <mgraesslin@kde.org> | 2015-05-15 08:01:01 +0000 |
commit | 11a28b2fed8e15f755ded5c1368386ce8ad428e2 (patch) | |
tree | 890348963ec2618dd43b72737aae7faa30dd88a7 | |
parent | 007d73ef9e64a99e560cc932f519f8cb00121ba8 (diff) | |
download | qtwayland-11a28b2fed8e15f755ded5c1368386ce8ad428e2.tar.gz |
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.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp index 3ea9e927..76ae2586 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)) |