]> git.eshelyaron.com Git - emacs.git/commitdiff
* xmenu.c (create_and_show_popup_menu): Pass zero as button to
authorJan Djärv <jan.h.d@swipnet.se>
Fri, 7 Jan 2005 20:50:46 +0000 (20:50 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Fri, 7 Jan 2005 20:50:46 +0000 (20:50 +0000)
gtk_menu_popup if not for_click, so callbacks for the menu are called.

src/ChangeLog
src/xmenu.c

index 9e3c5e565595816b5b98de64dc792457ad62c494..8a267b46d14d259620c6cd887ef85f561f1c1c85 100644 (file)
@@ -1,5 +1,8 @@
 2005-01-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 
+       * xmenu.c (create_and_show_popup_menu): Pass zero as button to
+       gtk_menu_popup if not for_click, so callbacks for the menu are called.
+
        * gtkutil.c (xg_gtk_scroll_destroy, xg_create_scroll_bar)
        (xg_tool_bar_callback, xg_tool_bar_help_callback)
        (update_frame_tool_bar): Cast to EMACS_INT to avoid compiler
index f9c2dc4bd1b9118f1b5ad93cc9ca1b3506bd910f..57f184e121f374e6928aba0d421cd58dd9001dac 100644 (file)
@@ -2454,10 +2454,6 @@ create_and_show_popup_menu (f, first_wv, x, y, for_click)
                            G_CALLBACK (menu_highlight_callback));
   xg_crazy_callback_abort = 0;
 
-  for (i = 0; i < 5; i++)
-    if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i))
-      break;
-
   if (! for_click)
     {
       /* Not invoked by a click.  pop up at x/y.  */
@@ -2470,8 +2466,16 @@ create_and_show_popup_menu (f, first_wv, x, y, for_click)
       popup_x_y.x = x;
       popup_x_y.y = y;
       popup_x_y.f = f;
-    }
 
+      i = 0;  /* gtk_menu_popup needs this to be 0 for a non-button popup.  */
+    }
+  else
+    {
+      for (i = 0; i < 5; i++)
+        if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i))
+          break;
+    }
+  
   /* Display the menu.  */
   gtk_widget_show_all (menu);
   gtk_menu_popup (GTK_MENU (menu), 0, 0, pos_func, &popup_x_y, i, 0);