aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan D2010-07-03 11:38:44 +0200
committerJan D2010-07-03 11:38:44 +0200
commitad3e6f4474d2737be89456332319e8efbdb382c4 (patch)
treedde2c8d3b8a3b97ecee39b7f87e90dd75a07bd76 /src
parent54ee7410c5a6301f37cb107317a5533c0bcc3cf9 (diff)
downloademacs-ad3e6f4474d2737be89456332319e8efbdb382c4.tar.gz
emacs-ad3e6f4474d2737be89456332319e8efbdb382c4.zip
Fix hang for mouse press on menubar but not on an item (Bug#6499).
* xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid grab on just Press (Bug#6499).
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/xmenu.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 77581160a0e..59f953bcc69 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12010-07-03 Jan Djärv <jan.h.d@swipnet.se>
2
3 * xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid
4 grab on just Press (Bug#6499).
5
12010-07-02 Chong Yidong <cyd@stupidchicken.com> 62010-07-02 Chong Yidong <cyd@stupidchicken.com>
2 7
3 * frame.c (Qtooltip): New var. 8 * frame.c (Qtooltip): New var.
diff --git a/src/xmenu.c b/src/xmenu.c
index 64e55b7413c..a9158b750e3 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -684,6 +684,14 @@ x_activate_menubar (f)
684 set_frame_menubar (f, 0, 1); 684 set_frame_menubar (f, 0, 1);
685 BLOCK_INPUT; 685 BLOCK_INPUT;
686#ifdef USE_GTK 686#ifdef USE_GTK
687 /* If we click outside any menu item, the menu bar still grabs.
688 So we send Press and the Release. If outside, grab is released.
689 If on a menu item, it is popped up normally.
690 PutBack is like a stack, so we put back in reverse order. */
691 f->output_data.x->saved_menu_event->type = ButtonRelease;
692 XPutBackEvent (f->output_data.x->display_info->display,
693 f->output_data.x->saved_menu_event);
694 f->output_data.x->saved_menu_event->type = ButtonPress;
687 XPutBackEvent (f->output_data.x->display_info->display, 695 XPutBackEvent (f->output_data.x->display_info->display,
688 f->output_data.x->saved_menu_event); 696 f->output_data.x->saved_menu_event);
689 popup_activated_flag = 1; 697 popup_activated_flag = 1;