(x_set_frame_parameters): Make sure height (width) get

applied when fullwidth (fullheight) is set.  (Bug#1522)
This commit is contained in:
Martin Rudalics 2009-01-05 10:29:41 +00:00
parent 29c4550005
commit 56f668f7ea
2 changed files with 18 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2009-01-05 Martin Rudalics <rudalics@gmx.at>
* frame.c (x_set_frame_parameters): Make sure height (width) get
applied when fullwidth (fullheight) is set. (Bug#1522)
2009-01-04 Juanma Barranquero <lekktu@gmail.com>
* w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)

View file

@ -2925,6 +2925,8 @@ x_set_frame_parameters (f, alist)
int left_no_change = 0, top_no_change = 0;
int icon_left_no_change = 0, icon_top_no_change = 0;
int fullscreen_is_being_set = 0;
int height_for_full_width = 0;
int width_for_full_height = 0;
struct gcpro gcpro1, gcpro2;
@ -3006,9 +3008,9 @@ x_set_frame_parameters (f, alist)
val = values[i];
if (EQ (prop, Qwidth) && NATNUMP (val))
width = XFASTINT (val);
width_for_full_height = width = XFASTINT (val);
else if (EQ (prop, Qheight) && NATNUMP (val))
height = XFASTINT (val);
height_for_full_width = height = XFASTINT (val);
else if (EQ (prop, Qtop))
top = val;
else if (EQ (prop, Qleft))
@ -3088,6 +3090,15 @@ x_set_frame_parameters (f, alist)
x_fullscreen_adjust (f, &width, &height, &new_top, &new_left);
if (new_top != f->top_pos || new_left != f->left_pos)
x_set_offset (f, new_left, new_top, 1);
/* When height was set and we want fullwidth make sure
height gets applied. */
if (height_for_full_width && (f->want_fullscreen & FULLSCREEN_WIDTH))
height = height_for_full_width;
/* When width was set and we want fullheight make sure
width gets applied. */
if (width_for_full_height && (f->want_fullscreen & FULLSCREEN_HEIGHT))
width = width_for_full_height;
}
/* Don't set these parameters unless they've been explicitly