changeset 24170:3689490f7f65

(x_set_frame_parameters): gcpro as needed.
author Richard M. Stallman <rms@gnu.org>
date Mon, 25 Jan 1999 01:37:58 +0000
parents fbd8d10e80bd
children 44241f56675a
files src/xfns.c
diffstat 1 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/xfns.c	Mon Jan 25 01:34:34 1999 +0000
+++ b/src/xfns.c	Mon Jan 25 01:37:58 1999 +0000
@@ -760,6 +760,8 @@
   int left_no_change = 0, top_no_change = 0;
   int icon_left_no_change = 0, icon_top_no_change = 0;
 
+  struct gcpro gcpro1, gcpro2;
+
   i = 0;
   for (tail = alist; CONSP (tail); tail = Fcdr (tail))
     i++;
@@ -779,7 +781,15 @@
       values[i] = Fcdr (elt);
       i++;
     }
-
+  /* TAIL and ALIST are not used again below here.  */
+  alist = tail = Qnil;
+
+  GCPRO2 (*parms, *values);
+  gcpro1.nvars = i;
+  gcpro2.nvars = i;
+
+  /* There is no need to gcpro LEFT, TOP, ICON_LEFT, or ICON_TOP,
+     because their values appear in VALUES and strings are not valid.  */
   top = left = Qunbound;
   icon_left = icon_top = Qunbound;
 
@@ -951,6 +961,8 @@
 	&& ! (icon_left_no_change && icon_top_no_change))
       x_wm_set_icon_position (f, XINT (icon_left), XINT (icon_top));
   }
+
+  UNGCPRO;
 }
 
 /* Store the screen positions of frame F into XPTR and YPTR.