From 4fb56bd67708a66fbea3cbeb7cb25e8281b002cd Mon Sep 17 00:00:00 2001 From: Alexander Volkov Date: Mon, 6 Mar 2023 18:10:34 +0300 Subject: [PATCH] Avoid crash when keysymToQtKey(keysym, Qt::ControlModifier) is called For example when Ctrl+Home is sent by virtual keyboard on Wayland. Pick-to: 6.2 5.15 Change-Id: I41f1d2a28c9091efa621d5826a3b9e3e0e481ceb Reviewed-by: Liang Qi (cherry picked from commit e68a0da0b907af7980481a3cf30f6b4b97c06b6e) Reviewed-by: Qt Cherry-pick Bot (cherry picked from commit f63cb046ebcea18e0fad34b0a9a39f82b669ba15) --- src/gui/platform/unix/qxkbcommon.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/platform/unix/qxkbcommon.cpp b/src/gui/platform/unix/qxkbcommon.cpp index fc014b38e2c..2fa2ae89110 100644 --- a/src/gui/platform/unix/qxkbcommon.cpp +++ b/src/gui/platform/unix/qxkbcommon.cpp @@ -733,6 +733,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); const xkb_layout_index_t currentLayout = xkb_state_key_get_layout(state, keycode);