]> git.eshelyaron.com Git - emacs.git/commit
Fix hangs when clicking on Haiku menu bar to activate frame
authorPo Lu <luangruo@yahoo.com>
Sun, 17 Apr 2022 07:15:17 +0000 (07:15 +0000)
committerPo Lu <luangruo@yahoo.com>
Sun, 17 Apr 2022 08:14:05 +0000 (08:14 +0000)
commite8b0808e20797f84fb2a720e38f315bfab39bde4
treec0ecf223452c66c107d500b08b27a42841ee5ddf
parent3dc73569b405d80e89c2965daba31ea4ee6664f0
Fix hangs when clicking on Haiku menu bar to activate frame

* src/haiku_io.c (haiku_len): Handle new event `MENU_BAR_CLICK'.
* src/haiku_support.cc (class EmacsWindow): Remove most of the
menu bar cv stuff.
(MessageReceived): Handle REPLAY_MENU_BAR message.
(EmacsWindow_signal_menu_update_complete): Delete function.
(be_replay_menu_bar_event): New function.

* src/haiku_support.h (enum haiku_event_type): New event type
`MENU_BAR_CLICK'.
(struct haiku_menu_bar_click_event): New struct.

* src/haikumenu.c (haiku_activate_menubar): New function.
* src/haikuterm.c (haiku_read_socket): Save a
MENU_BAR_ACTIVATE_EVENT and the menu bar click event instead of
handling the menu bar update synchronously.
(haiku_create_terminal): Set `activate_menubar_hook'.
(syms_of_haikuterm): Remove extraneous newline.

* src/haikuterm.h (struct haiku_output): New field
`saved_menu_event'.
src/haiku_io.c
src/haiku_support.cc
src/haiku_support.h
src/haikumenu.c
src/haikuterm.c
src/haikuterm.h