summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2011-07-10 18:55:22 +0200
committerJan Djärv <jan.h.d@swipnet.se>2011-07-10 18:55:22 +0200
commita560d9743a45663fd4a054b9c62b6b09784d0bbe (patch)
treeb9a0f198ade8530b40ac46bd7692cd5c34cb850b
parent84bb0cd155ea6c1fd8e57b6ba8076432e7b5a1c9 (diff)
downloademacs-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/ChangeLog5
-rw-r--r--src/xmenu.c11
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