From 993e8b010c98d017d74a7ba22c9fb9549a6d5d75 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Tue, 22 Feb 2022 01:33:56 +0000 Subject: [PATCH] Don't pass invalid keyboard modifiers to the event loop on Haiku * src/haikuterm.c (haiku_read_socket): Ensure validity of extra keyboard modifiers. --- src/haikuterm.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/haikuterm.c b/src/haikuterm.c index b5b61ec85f5..c184501a207 100644 --- a/src/haikuterm.c +++ b/src/haikuterm.c @@ -2703,7 +2703,13 @@ haiku_read_socket (struct terminal *terminal, struct input_event *hold_quit) inev.timestamp = b->time / 1000; inev.modifiers = (haiku_modifiers_to_emacs (b->modifiers) - | extra_keyboard_modifiers); + | (extra_keyboard_modifiers + & (meta_modifier + | hyper_modifier + | ctrl_modifier + | alt_modifier + | shift_modifier))); + XSETFRAME (inev.frame_or_window, f); break; } -- 2.39.5