* xmenu.c (create_and_show_popup_menu): Just remove menu and return
authorJan Djärv <jan.h.d@swipnet.se>
Thu, 24 Mar 2005 18:53:43 +0000 (18:53 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Thu, 24 Mar 2005 18:53:43 +0000 (18:53 +0000)
if it failed to pop up (Gnome "show pointer on ctrl" option makes
menus fail to pop up).

src/ChangeLog
src/xmenu.c

index c0e782e..f0b648b 100644 (file)
@@ -1,3 +1,9 @@
+2005-03-24  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * xmenu.c (create_and_show_popup_menu): Just remove menu and return
+       if it failed to pop up (Gnome "show pointer on ctrl" option makes
+       menus fail to pop up).
+
 2005-03-24  Stefan  <monnier@iro.umontreal.ca>
 
        * xdisp.c (get_next_display_element): Also use `\ ' & `\-' for latin-9.
index 0cb0b73..c17e1e8 100644 (file)
@@ -2490,11 +2490,14 @@ create_and_show_popup_menu (f, first_wv, x, y, for_click)
 
   record_unwind_protect (pop_down_menu, make_save_value (menu, 0));
 
-  /* Set this to one.  popup_widget_loop increases it by one, so it becomes
-     two.  show_help_echo uses this to detect popup menus.  */
-  popup_activated_flag = 1;
-  /* Process events that apply to the menu.  */
-  popup_widget_loop (1, menu);
+  if (GTK_WIDGET_MAPPED (menu))
+    {
+      /* Set this to one.  popup_widget_loop increases it by one, so it becomes
+         two.  show_help_echo uses this to detect popup menus.  */
+      popup_activated_flag = 1;
+      /* Process events that apply to the menu.  */
+      popup_widget_loop (1, menu);
+    }
 
   unbind_to (specpdl_count, Qnil);