XEmacs 21.2.20 "Yoko".
[chise/xemacs-chise.git.1] / src / frame-msw.c
index 653f53f..6eaac63 100644 (file)
@@ -248,13 +248,13 @@ mswindows_after_init_frame (struct frame *f, int first_on_device,
 }
 
 static void
-mswindows_mark_frame (struct frame *f, void (*markobj) (Lisp_Object))
+mswindows_mark_frame (struct frame *f)
 {
-  markobj (FRAME_MSWINDOWS_MENU_HASH_TABLE (f));
+  mark_object (FRAME_MSWINDOWS_MENU_HASH_TABLE (f));
 #ifdef HAVE_TOOLBARS
-  markobj (FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE (f));
+  mark_object (FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE (f));
 #endif
-  markobj (FRAME_MSWINDOWS_WIDGET_HASH_TABLE (f));
+  mark_object (FRAME_MSWINDOWS_WIDGET_HASH_TABLE (f));
 }
 
 static void
@@ -308,7 +308,7 @@ mswindows_set_frame_position (struct frame *f, int xoff, int yoff)
 static void
 mswindows_make_frame_visible (struct frame *f) 
 {
-  if (f->iconified)
+  if (!FRAME_VISIBLE_P(f))
     ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_RESTORE);
   else
     ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_SHOW);
@@ -319,8 +319,11 @@ mswindows_make_frame_visible (struct frame *f)
 static void
 mswindows_make_frame_invisible (struct frame *f) 
 {
+  if (!FRAME_VISIBLE_P(f))
+    return;
+
   ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_HIDE);
-  f->visible = -1;
+  f->visible = 0;
 }
 
 static int
@@ -738,10 +741,16 @@ syms_of_frame_mswindows (void)
 }
 
 void
-vars_of_frame_mswindows (void)
+reinit_vars_of_frame_mswindows (void)
 {
   /* Needn't staticpro -- see comment above.  */
   Vmswindows_frame_being_created = Qnil;
+}
+
+void
+vars_of_frame_mswindows (void)
+{
+  reinit_vars_of_frame_mswindows ();
 
   DEFVAR_LISP ("mswindows-use-system-frame-size-defaults", &Vmswindows_use_system_frame_size_defaults /*
 Controls whether to use system or XEmacs defaults for frame size.