changeset 16106:fdd1b2ade15d

(x_set_frame_parameters): Make height and width ints.
author Richard M. Stallman <rms@gnu.org>
date Wed, 04 Sep 1996 03:55:07 +0000
parents 1712db4a1709
children 6398b414a250
files src/w32fns.c
diffstat 1 files changed, 13 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/src/w32fns.c	Wed Sep 04 03:42:09 1996 +0000
+++ b/src/w32fns.c	Wed Sep 04 03:55:07 1996 +0000
@@ -587,7 +587,7 @@
   /* If both of these parameters are present, it's more efficient to
      set them both at once.  So we wait until we've looked at the
      entire list before we set them.  */
-  Lisp_Object width, height;
+  int width, height;
 
   /* Same here.  */
   Lisp_Object left, top;
@@ -622,9 +622,13 @@
       i++;
     }
 
-  width = height = top = left = Qunbound;
+  top = left = Qunbound;
   icon_left = icon_top = Qunbound;
 
+  /* Provide default values for HEIGHT and WIDTH.  */
+  width = FRAME_WIDTH (f);
+  height = FRAME_HEIGHT (f);
+
   /* Now process them in reverse of specified order.  */
   for (i--; i >= 0; i--)
     {
@@ -633,10 +637,10 @@
       prop = parms[i];
       val = values[i];
 
-      if (EQ (prop, Qwidth))
-	width = val;
-      else if (EQ (prop, Qheight))
-	height = val;
+      if (EQ (prop, Qwidth) && NUMBERP (val))
+	width = XFASTINT (val);
+      else if (EQ (prop, Qheight) && NUMBERP (val))
+	height = XFASTINT (val);
       else if (EQ (prop, Qtop))
 	top = val;
       else if (EQ (prop, Qleft))
@@ -693,12 +697,6 @@
 	XSETINT (icon_top, 0);
     }
 
-  /* Don't die if just one of these was set.  */
-  if (EQ (width, Qunbound))
-    XSETINT (width, FRAME_WIDTH (f));
-  if (EQ (height, Qunbound))
-    XSETINT (height, FRAME_HEIGHT (f));
-
   /* Don't set these parameters unless they've been explicitly
      specified.  The window might be mapped or resized while we're in
      this function, and we don't want to override that unless the lisp
@@ -714,9 +712,9 @@
 
     XSETFRAME (frame, f);
 
-    if ((NUMBERP (width) && XINT (width) != FRAME_WIDTH (f))
-	|| (NUMBERP (height) && XINT (height) != FRAME_HEIGHT (f)))
-      Fset_frame_size (frame, width, height);
+    if (XINT (width) != FRAME_WIDTH (f)
+	|| XINT (height) != FRAME_HEIGHT (f))
+      Fset_frame_size (frame, make_number (width), make_number (height));
 
     if ((!NILP (left) || !NILP (top))
 	&& ! (left_no_change && top_no_change)