diff options
author | Jan Djärv <jan.h.d@swipnet.se> | 2011-07-10 18:55:22 +0200 |
---|---|---|
committer | Jan Djärv <jan.h.d@swipnet.se> | 2011-07-10 18:55:22 +0200 |
commit | a560d9743a45663fd4a054b9c62b6b09784d0bbe (patch) | |
tree | b9a0f198ade8530b40ac46bd7692cd5c34cb850b | |
parent | 84bb0cd155ea6c1fd8e57b6ba8076432e7b5a1c9 (diff) | |
download | emacs-a560d9743a45663fd4a054b9c62b6b09784d0bbe.tar.gz |
* xmenu.c (menu_highlight_callback): Only pass frame to show_help_event
for non-popups.
Fixes: debbugs:3642
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/xmenu.c | 11 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 0bd67db5f80..020972edd2d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2011-07-10 Jan Djärv <jan.h.d@swipnet.se> + + * xmenu.c (menu_highlight_callback): Only pass frame to show_help_event + for non-popups (Bug#3642). + 2011-07-10 Andreas Schwab <schwab@linux-m68k.org> * alloc.c (reset_malloc_hooks): Protoize. diff --git a/src/xmenu.c b/src/xmenu.c index fc629b35104..b4338c1d653 100644 --- a/src/xmenu.c +++ b/src/xmenu.c @@ -740,10 +740,13 @@ menu_highlight_callback (GtkWidget *widget, gpointer call_data) help = call_data ? cb_data->help : Qnil; /* If popup_activated_flag is greater than 1 we are in a popup menu. - Don't show help for them, they won't appear before the - popup is popped down. */ - if (popup_activated_flag <= 1) - show_help_event (cb_data->cl_data->f, widget, help); + Don't pass the frame to show_help_event for those. + Passing frame creates an Emacs event. As we are looping in + popup_widget_loop, it won't be handeled. Passing NULL shows the tip + directly without using an Emacs event. This is what the Lucid code + does below. */ + show_help_event (popup_activated_flag <= 1 ? cb_data->cl_data->f : NULL, + widget, help); } #else static void |