summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Rudalics <rudalics@gmx.at>2021-05-05 18:36:00 +0200
committerMartin Rudalics <rudalics@gmx.at>2021-05-05 18:36:00 +0200
commite9baa733b8cac00e008cb834abc8712c8c00beed (patch)
tree4c7d95f4cddb8329992516cc540cb214df7a0aaf
parent31f64d862b5d4557363363316ef51d3fb0eaca82 (diff)
downloademacs-e9baa733b8cac00e008cb834abc8712c8c00beed.tar.gz
emacs-e9baa733b8cac00e008cb834abc8712c8c00beed.tar.bz2
emacs-e9baa733b8cac00e008cb834abc8712c8c00beed.zip
Fix setting of 'width' and 'height' frame parameters
* src/frame.c (Fframe_parameters): Fix bogus setting of 'height' and 'width' parameters.
-rw-r--r--src/frame.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/frame.c b/src/frame.c
index d884a6d8b96..738bfe9a5c8 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -3295,12 +3295,15 @@ If FRAME is omitted or nil, return information on the currently selected frame.
/* It's questionable whether here we should report the value of
f->new_height (and f->new_width below) but we've done that in the
past, so let's keep it. Note that a value of -1 for either of
- these means that no new size was requested. */
- height = (f->new_height >= 0
+ these means that no new size was requested.
+
+ But check f->new_size before to make sure that f->new_height and
+ f->new_width are not ones requested by adjust_frame_size. */
+ height = ((f->new_size_p && f->new_height >= 0)
? f->new_height / FRAME_LINE_HEIGHT (f)
: FRAME_LINES (f));
store_in_alist (&alist, Qheight, make_fixnum (height));
- width = (f->new_width >= 0
+ width = ((f->new_size_p && f->new_width >= 0)
? f->new_width / FRAME_COLUMN_WIDTH (f)
: FRAME_COLS(f));
store_in_alist (&alist, Qwidth, make_fixnum (width));