Mercurial > emacs
diff src/xmenu.c @ 109291:35d06d80fc61
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).
| author | Jan D <jan.h.d@swipnet.se> |
|---|---|
| date | Sat, 03 Jul 2010 11:38:44 +0200 |
| parents | 1d1d5d9bd884 |
| children | 60516122d066 60266cf487b0 |
line wrap: on
line diff
--- a/src/xmenu.c Fri Jul 02 12:35:08 2010 -0400 +++ b/src/xmenu.c Sat Jul 03 11:38:44 2010 +0200 @@ -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;
