X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/7b7f97e8b3d5675a09962253f31b3ab9d5962483..542f2c78acd26112754474223c85311d6c9cc2eb:/src/xmenu.c diff --git a/src/xmenu.c b/src/xmenu.c index 1cb71187c0..b4338c1d65 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 @@ -2559,8 +2562,7 @@ DEFUN ("menu-or-popup-active-p", Fmenu_or_popup_active_p, Smenu_or_popup_active_ void syms_of_xmenu (void) { - Qdebug_on_next_call = intern_c_string ("debug-on-next-call"); - staticpro (&Qdebug_on_next_call); + DEFSYM (Qdebug_on_next_call, "debug-on-next-call"); #ifdef USE_X_TOOLKIT widget_id_tick = (1<<16);