diff src/xmenu.c @ 58202:54c649507b74

* xfns.c (Fx_file_dialog): Call x_menu_in_use and x_menu_set_in_use. Record unwind with clean_up_file_dialog. * xterm.h: Declare x_menu_in_use, x_menu_set_in_use, x_menu_wait_for_event. * xmenu.c (x_menu_in_use, x_menu_set_in_use): New functions.
author Jan Djärv <jan.h.d@swipnet.se>
date Sat, 13 Nov 2004 23:29:11 +0000
parents 6c24ca598cb1
children 8f529503ae83
line wrap: on
line diff
--- a/src/xmenu.c	Sat Nov 13 23:17:55 2004 +0000
+++ b/src/xmenu.c	Sat Nov 13 23:29:11 2004 +0000
@@ -1118,9 +1118,26 @@
 
 #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
+x_menu_set_in_use (in_use)
+     int in_use;
+{
+  menu_items_inuse = in_use ? Qt : Qnil;
+}
+
 /* Wait for an X event to arrive or for a timer to expire.  */
 
-static void
+void
 x_menu_wait_for_event (void *data)
 {
   extern EMACS_TIME timer_check P_ ((int));