summaryrefslogtreecommitdiffstats
path: root/src/gui/platform
diff options
context:
space:
mode:
authorAlexander Volkov <avolkov@astralinux.ru>2023-03-06 18:10:34 +0300
committerLiang Qi <liang.qi@qt.io>2023-09-28 17:34:26 +0000
commite68a0da0b907af7980481a3cf30f6b4b97c06b6e (patch)
tree713c0cffe2773b3255795099dfe876354ee75f15 /src/gui/platform
parent54b5ffb602ab9afda5281f1d6c5c77acc96cd8ed (diff)
Avoid crash when keysymToQtKey(keysym, Qt::ControlModifier) is called
For example when Ctrl+Home is sent by virtual keyboard on Wayland. Pick-to: 6.6 6.5 6.2 5.15 Change-Id: I41f1d2a28c9091efa621d5826a3b9e3e0e481ceb Reviewed-by: Liang Qi <liang.qi@qt.io>
Diffstat (limited to 'src/gui/platform')
-rw-r--r--src/gui/platform/unix/qxkbcommon.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gui/platform/unix/qxkbcommon.cpp b/src/gui/platform/unix/qxkbcommon.cpp
index d254aeecdc..162ba90efe 100644
--- a/src/gui/platform/unix/qxkbcommon.cpp
+++ b/src/gui/platform/unix/qxkbcommon.cpp
@@ -731,6 +731,8 @@ xkb_keysym_t QXkbCommon::lookupLatinKeysym(xkb_state *state, xkb_keycode_t keyco
{
xkb_layout_index_t layout;
xkb_keysym_t sym = XKB_KEY_NoSymbol;
+ if (!state)
+ return sym;
xkb_keymap *keymap = xkb_state_get_keymap(state);
const xkb_layout_index_t layoutCount = xkb_keymap_num_layouts_for_key(keymap, keycode);
// Look at user layouts in the order in which they are defined in system