emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 62fc53d: Update menu bar when processing touch sequences on it


From: Po Lu
Subject: master 62fc53d: Update menu bar when processing touch sequences on it
Date: Fri, 17 Dec 2021 06:13:14 -0500 (EST)

branch: master
commit 62fc53d75b7e56b4e5f5ce13f16ccdd7a32f2874
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    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.
---
 src/xterm.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/src/xterm.c b/src/xterm.c
index 6f93956..9f39561 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -10890,6 +10890,19 @@ handle_one_xevent (struct x_display_info *dpyinfo,
                  xi_link_touch_point (device, xev->detail, xev->event_x,
                                       xev->event_y);
 
+                 if (FRAME_X_OUTPUT (f)->menubar_widget
+                     && xg_event_is_for_menubar (f, event))
+                   {
+                     bool was_waiting_for_input = waiting_for_input;
+                     /* This hack was adopted from the NS port.  Whether
+                        or not it is actually safe is a different story
+                        altogether.  */
+                     if (waiting_for_input)
+                       waiting_for_input = 0;
+                     set_frame_menubar (f, true);
+                     waiting_for_input = was_waiting_for_input;
+                   }
+
                  inev.ie.kind = TOUCHSCREEN_BEGIN_EVENT;
                  inev.ie.timestamp = xev->time;
                  XSETFRAME (inev.ie.frame_or_window, f);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]