Commit 312b93ee authored by Jim Blandy's avatar Jim Blandy
Browse files

* xfns.c (x_set_frame_parameters): Use the first

	position/size parameter we find, not the last.
parent 34aab307
......@@ -331,12 +331,8 @@ x_set_frame_parameters (f, alist)
/* Same here. */
Lisp_Object left, top;
XSET (width, Lisp_Int, FRAME_WIDTH (f));
XSET (height, Lisp_Int, FRAME_HEIGHT (f));
XSET (top, Lisp_Int, f->display.x->top_pos);
XSET (left, Lisp_Int, f->display.x->left_pos);
width = height = top = left = Qnil;
for (tail = alist; CONSP (tail); tail = Fcdr (tail))
{
......@@ -346,13 +342,16 @@ x_set_frame_parameters (f, alist)
prop = Fcar (elt);
val = Fcdr (elt);
if (EQ (prop, Qwidth))
/* Ignore all but the first set presented. You're supposed to
be able to append two parameter lists and have the first
shadow the second. */
if (EQ (prop, Qwidth) && NILP (width))
width = val;
else if (EQ (prop, Qheight))
else if (EQ (prop, Qheight) && NILP (height))
height = val;
else if (EQ (prop, Qtop))
else if (EQ (prop, Qtop) && NILP (top))
top = val;
else if (EQ (prop, Qleft))
else if (EQ (prop, Qleft) && NILP (left))
left = val;
else
{
......@@ -373,6 +372,12 @@ x_set_frame_parameters (f, alist)
{
Lisp_Object frame;
if (NILP (width)) XSET (width, Lisp_Int, FRAME_WIDTH (f));
if (NILP (height)) XSET (height, Lisp_Int, FRAME_HEIGHT (f));
if (NILP (top)) XSET (top, Lisp_Int, f->display.x->top_pos);
if (NILP (left)) XSET (left, Lisp_Int, f->display.x->left_pos);
XSET (frame, Lisp_Frame, f);
if (XINT (width) != FRAME_WIDTH (f)
|| XINT (height) != FRAME_HEIGHT (f))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment