emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r99911: Fix hang on menubar press


From: Jan D
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r99911: Fix hang on menubar press outside items (Bug#6499).
Date: Sat, 03 Jul 2010 11:43:45 +0200
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 99911 [merge]
committer: Jan D <address@hidden>
branch nick: emacs-23
timestamp: Sat 2010-07-03 11:43:45 +0200
message:
  Fix hang on menubar press outside items (Bug#6499).
  
  * xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid
  grab on just Press (Bug#6499).
modified:
  src/ChangeLog
  src/xmenu.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-07-02 16:35:08 +0000
+++ b/src/ChangeLog     2010-07-03 09:38:44 +0000
@@ -1,3 +1,8 @@
+2010-07-03  Jan Djärv  <address@hidden>
+
+       * xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid
+       grab on just Press (Bug#6499).
+
 2010-07-02  Chong Yidong  <address@hidden>
 
        * frame.c (Qtooltip): New var.

=== modified file 'src/xmenu.c'
--- a/src/xmenu.c       2010-01-13 08:35:10 +0000
+++ b/src/xmenu.c       2010-07-03 09:38:44 +0000
@@ -684,6 +684,14 @@
   set_frame_menubar (f, 0, 1);
   BLOCK_INPUT;
 #ifdef USE_GTK
+  /* If we click outside any menu item, the menu bar still grabs.
+     So we send Press and the Release.  If outside, grab is released.
+     If on a menu item, it is popped up normally.
+     PutBack is like a stack, so we put back in reverse order.  */
+  f->output_data.x->saved_menu_event->type = ButtonRelease;
+  XPutBackEvent (f->output_data.x->display_info->display,
+                 f->output_data.x->saved_menu_event);
+  f->output_data.x->saved_menu_event->type = ButtonPress;
   XPutBackEvent (f->output_data.x->display_info->display,
                  f->output_data.x->saved_menu_event);
   popup_activated_flag = 1;


reply via email to

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