changeset 58283:c163562b2d59

* xmenu.c (x_menu_in_use): Removed. (x_menu_set_in_use): Also set popup_activated_flag. * xfns.c (Fx_file_dialog): Call popup_activated instead of x_menu_in_use. Call x_menu_set_in_use in Motif version also. * xterm.h: (x_menu_in_use): Removed.
author Jan Djärv <jan.h.d@swipnet.se>
date Tue, 16 Nov 2004 20:52:32 +0000
parents 7c3f5740a5cc
children 10efc827e15c
files src/ChangeLog src/xfns.c src/xmenu.c src/xterm.h
diffstat 4 files changed, 14 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Tue Nov 16 17:31:19 2004 +0000
+++ b/src/ChangeLog	Tue Nov 16 20:52:32 2004 +0000
@@ -1,3 +1,13 @@
+2004-11-16  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
+
+	* xmenu.c (x_menu_in_use): Removed.
+	(x_menu_set_in_use): Also set popup_activated_flag.
+
+	* xfns.c (Fx_file_dialog): Call popup_activated instead of 
+	x_menu_in_use.  Call x_menu_set_in_use in Motif version also.
+
+	* xterm.h: (x_menu_in_use): Removed.
+
 2004-11-16  Richard M. Stallman  <rms@gnu.org>
 
 	* keymap.c (Fmap_keymap): New arg SORT-FIRST.  Use
--- a/src/xfns.c	Tue Nov 16 17:31:19 2004 +0000
+++ b/src/xfns.c	Tue Nov 16 20:52:32 2004 +0000
@@ -5144,7 +5144,7 @@
 
   GCPRO6 (prompt, dir, default_filename, mustmatch, only_dir_p, file);
 
-  if (x_menu_in_use ())
+  if (popup_activated ())
     error ("Trying to use a menu from within a menu-entry");
 
   CHECK_STRING (prompt);
@@ -5232,6 +5232,7 @@
   record_unwind_protect (clean_up_file_dialog, make_save_value (dialog, 0));
 
   /* Process events until the user presses Cancel or OK.  */
+  x_menu_set_in_use (1);
   result = 0;
   while (result == 0)
     {
@@ -5297,7 +5298,7 @@
 
   GCPRO6 (prompt, dir, default_filename, mustmatch, only_dir_p, file);
 
-  if (x_menu_in_use ())
+  if (popup_activated ())
     error ("Trying to use a menu from within a menu-entry");
 
   CHECK_STRING (prompt);
--- a/src/xmenu.c	Tue Nov 16 17:31:19 2004 +0000
+++ b/src/xmenu.c	Tue Nov 16 20:52:32 2004 +0000
@@ -1118,14 +1118,6 @@
 
 #ifndef MSDOS
 
-/* Return non-zero if a dialog or popup menu is already popped up.  */
-
-int
-x_menu_in_use ()
-{
-  return ! NILP (menu_items_inuse);
-}
-
 /* Set menu_items_inuse so no other popup menu or dialog is created.  */
 
 void
@@ -1133,6 +1125,7 @@
      int in_use;
 {
   menu_items_inuse = in_use ? Qt : Qnil;
+  popup_activated_flag = in_use;
 }
 
 /* Wait for an X event to arrive or for a timer to expire.  */
--- a/src/xterm.h	Tue Nov 16 17:31:19 2004 +0000
+++ b/src/xterm.h	Tue Nov 16 20:52:32 2004 +0000
@@ -1069,7 +1069,6 @@
 
 /* Defined in xmenu.c */
 
-extern int x_menu_in_use P_ ((void));
 extern void x_menu_set_in_use P_ ((int));
 extern void x_menu_wait_for_event P_ ((void *data));
 extern void x_activate_menubar P_ ((struct frame *));