diff options
| author | Po Lu | 2021-12-17 19:11:54 +0800 |
|---|---|---|
| committer | Po Lu | 2021-12-17 19:11:54 +0800 |
| commit | 62fc53d75b7e56b4e5f5ce13f16ccdd7a32f2874 (patch) | |
| tree | 6b5dfe2022dc5f5932415c1eac86d9fd38e4ba89 /src | |
| parent | 75e6c169ae93bd403bd31bafae6c5a81e2a42ccf (diff) | |
| download | emacs-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.c | 13 |
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); |