diff options
author | Alexander Volkov <avolkov@astralinux.ru> | 2023-03-06 18:10:34 +0300 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2023-09-28 17:34:26 +0000 |
commit | e68a0da0b907af7980481a3cf30f6b4b97c06b6e (patch) | |
tree | 713c0cffe2773b3255795099dfe876354ee75f15 /src/gui/platform | |
parent | 54b5ffb602ab9afda5281f1d6c5c77acc96cd8ed (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.cpp | 2 |
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 |