Mercurial > emacs
diff src/w32menu.c @ 73695:3901ff3eaf2c
(Fmenu_or_popup_active_p): New function.
(syms_of_w32menu): Defsubr it.
(popup_activated_flag, popup_activated): Remove.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sun, 05 Nov 2006 12:17:26 +0000 |
parents | 15d914de92fd |
children | 177184091f28 |
line wrap: on
line diff
--- a/src/w32menu.c Sun Nov 05 12:16:51 2006 +0000 +++ b/src/w32menu.c Sun Nov 05 12:17:26 2006 +0000 @@ -235,10 +235,6 @@ /* Current depth within submenus. */ static int menu_items_submenu_depth; -/* Flag which when set indicates a dialog or menu has been posted by - Xt on behalf of one of the widget sets. */ -static int popup_activated_flag; - static int next_menubar_widget_id; /* This is set nonzero after the user activates the menu bar, and set @@ -994,6 +990,17 @@ complete_deferred_msg (FRAME_W32_WINDOW (f), WM_INITMENU, 0); } +/* The following is used by delayed window autoselection. */ + +DEFUN ("menu-or-popup-active-p", Fmenu_or_popup_active_p, Smenu_or_popup_active_p, 0, 0, 0, + doc: /* Return t if a menu or popup dialog is active on selected frame. */) + () +{ + FRAME_PTR f; + f = SELECTED_FRAME (); + return (f->output_data.w32->menubar_active > 0) ? Qt : Qnil; +} + /* This callback is called from the menu bar pulldown menu when the user makes a selection. Figure out what the user chose @@ -2148,7 +2155,6 @@ /* Display the menu. */ lw_pop_up_all_widgets (dialog_id); - popup_activated_flag = 1; /* Process events that apply to the menu. */ popup_get_selection ((XEvent *) 0, FRAME_X_DISPLAY_INFO (f), dialog_id); @@ -2428,13 +2434,6 @@ return 1; } -int -popup_activated () -{ - /* popup_activated_flag not actually used on W32 */ - return 0; -} - /* Display help string for currently pointed to menu item. Not supported on NT 3.51 and earlier, as GetMenuItemInfo is not available. */ @@ -2549,6 +2548,7 @@ staticpro (&Qdebug_on_next_call); defsubr (&Sx_popup_menu); + defsubr (&Smenu_or_popup_active_p); #ifdef HAVE_MENUS defsubr (&Sx_popup_dialog); #endif