From 8a075c405709eab9c08ed4230d795ca45eabd5a7 Mon Sep 17 00:00:00 2001 From: Alexander Volkov Date: Fri, 12 Dec 2014 14:37:36 +0300 Subject: xcb: Don't return 0 from QXcbKeyboard::possibleKeys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It's possible to get 0 for baseQtKey in case Caps Lock is used as a layout switcher. So don't include this value in the result. Similar fix was in commit d904533acba1267431ca2c5f0d3e85cc59a20a26. Task-number: QTCREATORBUG-9589 Change-Id: I46fc91f9faf6fd0699f062a72fd2ca3187232f5a Reviewed-by: Jørgen Lind --- src/plugins/platforms/xcb/qxcbkeyboard.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/plugins/platforms/xcb') diff --git a/src/plugins/platforms/xcb/qxcbkeyboard.cpp b/src/plugins/platforms/xcb/qxcbkeyboard.cpp index 260fb46309..5fb745717b 100644 --- a/src/plugins/platforms/xcb/qxcbkeyboard.cpp +++ b/src/plugins/platforms/xcb/qxcbkeyboard.cpp @@ -957,7 +957,8 @@ QList QXcbKeyboard::possibleKeys(const QKeyEvent *event) const QList result; int baseQtKey = keysymToQtKey(sym, modifiers, lookupString(kb_state, keycode)); - result += (baseQtKey + modifiers); // The base key is _always_ valid, of course + if (baseQtKey) + result += (baseQtKey + modifiers); xkb_mod_index_t shiftMod = xkb_keymap_mod_get_index(xkb_keymap, "Shift"); xkb_mod_index_t altMod = xkb_keymap_mod_get_index(xkb_keymap, "Alt"); -- cgit v1.2.3