diff src/menubar-msw.c @ 298:70ad99077275 r21-0b47

Import from CVS: tag r21-0b47
author cvs
date Mon, 13 Aug 2007 10:39:40 +0200
parents e11d67e05968
children 03446687b7cc
line wrap: on
line diff
--- a/src/menubar-msw.c	Mon Aug 13 10:38:47 2007 +0200
+++ b/src/menubar-msw.c	Mon Aug 13 10:39:40 2007 +0200
@@ -633,7 +633,12 @@
   /* Ok, this is our one. Enqueue it. */
   get_gui_callback (data, &fn, &arg);
   XSETFRAME (frame, f);
-  mswindows_enqueue_misc_user_event (frame, fn, arg);
+  /* this used to call mswindows_enqueue_misc_user_event but that
+     breaks customize because the misc_event gets eval'ed in some
+     cicumstances. Don't change it back unless you can fix the
+     customize problem also.*/
+  enqueue_misc_user_event (frame, fn, arg);
+  mswindows_enqueue_magic_event (NULL, XM_BUMPQUEUE);
 
   UNGCPRO; /* data */
   return Qt;
@@ -736,6 +741,8 @@
 
   if (SYMBOLP (menu_desc))
     menu_desc = Fsymbol_value (menu_desc);
+  CHECK_CONS (menu_desc);
+  CHECK_STRING (XCAR (menu_desc));
 
   current_menudesc = menu_desc;
   current_hashtable = Fmake_hashtable (make_int(10), Qequal);
@@ -743,6 +750,10 @@
   Fputhash (hmenu_to_lisp_object (menu), Qnil, current_hashtable);
   top_level_menu = menu;
   
+  /* see comments in menubar-x.c */
+  if (zmacs_regions)
+    zmacs_region_stays = 1;
+  
   ok = TrackPopupMenu (menu,
 		       TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_RIGHTBUTTON,
 		       pt.x, pt.y, 0,