aboutsummaryrefslogtreecommitdiffstats
path: root/src/xmenu.c
diff options
context:
space:
mode:
authorJan Djärv2005-01-07 20:50:46 +0000
committerJan Djärv2005-01-07 20:50:46 +0000
commit9b85e63d346b2e4de1295228356d4e2ea49a3ff1 (patch)
tree2cb459d5660d071c394f99c668fa290186ee3b41 /src/xmenu.c
parent9abb41ebcbc01ec50cc1c5fab913cb003a16e052 (diff)
downloademacs-9b85e63d346b2e4de1295228356d4e2ea49a3ff1.tar.gz
emacs-9b85e63d346b2e4de1295228356d4e2ea49a3ff1.zip
* 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.
Diffstat (limited to 'src/xmenu.c')
-rw-r--r--src/xmenu.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/xmenu.c b/src/xmenu.c
index f9c2dc4bd1b..57f184e121f 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -2454,10 +2454,6 @@ create_and_show_popup_menu (f, first_wv, x, y, for_click)
2454 G_CALLBACK (menu_highlight_callback)); 2454 G_CALLBACK (menu_highlight_callback));
2455 xg_crazy_callback_abort = 0; 2455 xg_crazy_callback_abort = 0;
2456 2456
2457 for (i = 0; i < 5; i++)
2458 if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i))
2459 break;
2460
2461 if (! for_click) 2457 if (! for_click)
2462 { 2458 {
2463 /* Not invoked by a click. pop up at x/y. */ 2459 /* 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)
2470 popup_x_y.x = x; 2466 popup_x_y.x = x;
2471 popup_x_y.y = y; 2467 popup_x_y.y = y;
2472 popup_x_y.f = f; 2468 popup_x_y.f = f;
2473 }
2474 2469
2470 i = 0; /* gtk_menu_popup needs this to be 0 for a non-button popup. */
2471 }
2472 else
2473 {
2474 for (i = 0; i < 5; i++)
2475 if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i))
2476 break;
2477 }
2478
2475 /* Display the menu. */ 2479 /* Display the menu. */
2476 gtk_widget_show_all (menu); 2480 gtk_widget_show_all (menu);
2477 gtk_menu_popup (GTK_MENU (menu), 0, 0, pos_func, &popup_x_y, i, 0); 2481 gtk_menu_popup (GTK_MENU (menu), 0, 0, pos_func, &popup_x_y, i, 0);