[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/xmenu.c [lexbind]
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/src/xmenu.c [lexbind] |
Date: |
Thu, 20 Nov 2003 19:37:04 -0500 |
Index: emacs/src/xmenu.c
diff -c emacs/src/xmenu.c:1.230.4.2 emacs/src/xmenu.c:1.230.4.3
*** emacs/src/xmenu.c:1.230.4.2 Tue Oct 14 19:22:51 2003
--- emacs/src/xmenu.c Thu Nov 20 19:36:23 2003
***************
*** 610,616 ****
#endif /* not HAVE_BOXES */
#if ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK)
! if (!NILP(map))
/* Indicate visually that this is a submenu. */
item_string = concat2 (item_string, build_string (" >"));
#endif
--- 610,616 ----
#endif /* not HAVE_BOXES */
#if ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK)
! if (!NILP (map))
/* Indicate visually that this is a submenu. */
item_string = concat2 (item_string, build_string (" >"));
#endif
***************
*** 696,702 ****
the scroll bar or the edit window. Fx_popup_menu needs to be
sure it is the edit window. */
static void
! mouse_position_for_popup(f, x, y)
FRAME_PTR f;
int *x;
int *y;
--- 696,702 ----
the scroll bar or the edit window. Fx_popup_menu needs to be
sure it is the edit window. */
static void
! mouse_position_for_popup (f, x, y)
FRAME_PTR f;
int *x;
int *y;
***************
*** 1217,1223 ****
return;
#ifdef USE_GTK
! if (! xg_win_to_widget (f->output_data.x->saved_menu_event->xany.window))
return;
#endif
--- 1217,1224 ----
return;
#ifdef USE_GTK
! if (! xg_win_to_widget (FRAME_X_DISPLAY (f),
! f->output_data.x->saved_menu_event->xany.window))
return;
#endif
***************
*** 1866,1871 ****
--- 1867,1878 ----
f->output_data.x->saved_menu_event->type = 0;
}
+ #ifdef USE_GTK
+ /* If we have detached menus, we must update deep so detached menus
+ also gets updated. */
+ deep_p = deep_p || xg_have_tear_offs ();
+ #endif
+
if (deep_p)
{
/* Make a widget-value tree representing the entire menu trees. */
***************
*** 2066,2072 ****
xg_crazy_callback_abort = 1;
if (menubar_widget)
{
! /* The third arg is DEEP_P, which says to consider the entire
menu trees we supply, rather than just the menu bar item names. */
xg_modify_menubar_widgets (menubar_widget,
f,
--- 2073,2079 ----
xg_crazy_callback_abort = 1;
if (menubar_widget)
{
! /* The fourth arg is DEEP_P, which says to consider the entire
menu trees we supply, rather than just the menu bar item names. */
xg_modify_menubar_widgets (menubar_widget,
f,
***************
*** 2343,2359 ****
gtk_widget_show_all (menu);
gtk_menu_popup (GTK_MENU (menu), 0, 0, pos_func, &popup_x_y, i, 0);
- xg_did_tearoff = 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 ();
! if (xg_did_tearoff)
! xg_keep_popup (menu, xg_did_tearoff);
! else
! gtk_widget_destroy (menu);
/* Must reset this manually because the button release event is not passed
to Emacs event loop. */
--- 2350,2362 ----
gtk_widget_show_all (menu);
gtk_menu_popup (GTK_MENU (menu), 0, 0, pos_func, &popup_x_y, i, 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 ();
! gtk_widget_destroy (menu);
/* Must reset this manually because the button release event is not passed
to Emacs event loop. */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/src/xmenu.c [lexbind],
Miles Bader <=