]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't pass invalid keyboard modifiers to the event loop on Haiku
authorPo Lu <luangruo@yahoo.com>
Tue, 22 Feb 2022 01:33:56 +0000 (01:33 +0000)
committerPo Lu <luangruo@yahoo.com>
Tue, 22 Feb 2022 01:33:56 +0000 (01:33 +0000)
* src/haikuterm.c (haiku_read_socket): Ensure validity of extra
keyboard modifiers.

src/haikuterm.c

index b5b61ec85f5233ce03a7f82cb46f78ebf7bc6e10..c184501a2073a8ec2854b514bb8c47eb6b0cb24f 100644 (file)
@@ -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;
          }