linux: Don't set ime_key for non-ASCII characters

doing e. g. CTRL + 2 would set ime_key to "\0", which would make the text system crash while trying to render it.
This commit is contained in:
apricotbucket28 2024-05-06 16:26:19 -03:00
parent 7ba2e967b3
commit caadc58bea

View file

@ -616,11 +616,9 @@ impl Keystroke {
}
};
// Ignore control characters (and DEL) for the purposes of ime_key,
// but if key_utf32 is 0 then assume it isn't one
let ime_key = ((key_utf32 == 0 || (key_utf32 >= 32 && key_utf32 != 127))
&& !key_utf8.is_empty())
.then_some(key_utf8);
// Ignore control characters (and DEL) for the purposes of ime_key
let ime_key =
(key_utf32 >= 32 && key_utf32 != 127 && !key_utf8.is_empty()).then_some(key_utf8);
if handle_consumed_modifiers {
let mod_shift_index = state.get_keymap().mod_get_index(xkb::MOD_NAME_SHIFT);