aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2021-12-17 19:11:54 +0800
committerPo Lu2021-12-17 19:11:54 +0800
commit62fc53d75b7e56b4e5f5ce13f16ccdd7a32f2874 (patch)
tree6b5dfe2022dc5f5932415c1eac86d9fd38e4ba89 /src
parent75e6c169ae93bd403bd31bafae6c5a81e2a42ccf (diff)
downloademacs-62fc53d75b7e56b4e5f5ce13f16ccdd7a32f2874.tar.gz
emacs-62fc53d75b7e56b4e5f5ce13f16ccdd7a32f2874.zip
Update menu bar when processing touch sequences on it
* src/xterm.c (handle_one_event): Prevent menu bar from becoming outdated when handling XI_TouchBegin events that may cause it to be opened.
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 6f93956e7d9..9f39561fbdb 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -10890,6 +10890,19 @@ handle_one_xevent (struct x_display_info *dpyinfo,
10890 xi_link_touch_point (device, xev->detail, xev->event_x, 10890 xi_link_touch_point (device, xev->detail, xev->event_x,
10891 xev->event_y); 10891 xev->event_y);
10892 10892
10893 if (FRAME_X_OUTPUT (f)->menubar_widget
10894 && xg_event_is_for_menubar (f, event))
10895 {
10896 bool was_waiting_for_input = waiting_for_input;
10897 /* This hack was adopted from the NS port. Whether
10898 or not it is actually safe is a different story
10899 altogether. */
10900 if (waiting_for_input)
10901 waiting_for_input = 0;
10902 set_frame_menubar (f, true);
10903 waiting_for_input = was_waiting_for_input;
10904 }
10905
10893 inev.ie.kind = TOUCHSCREEN_BEGIN_EVENT; 10906 inev.ie.kind = TOUCHSCREEN_BEGIN_EVENT;
10894 inev.ie.timestamp = xev->time; 10907 inev.ie.timestamp = xev->time;
10895 XSETFRAME (inev.ie.frame_or_window, f); 10908 XSETFRAME (inev.ie.frame_or_window, f);