summaryrefslogtreecommitdiff
path: root/src/frame.h
diff options
context:
space:
mode:
authorMartin Rudalics <rudalics@gmx.at>2021-05-02 10:33:22 +0200
committerMartin Rudalics <rudalics@gmx.at>2021-05-02 10:33:22 +0200
commit8a4081c396a47aa7593a6c25b1bad8a2b8b157b7 (patch)
treea168f59cdce067276e2abbade1e7c8f2b1c951ee /src/frame.h
parenteda4888e54a278226c51a2491594e8703c105d21 (diff)
downloademacs-8a4081c396a47aa7593a6c25b1bad8a2b8b157b7.tar.gz
Make adjust_frame_size set up frame's new_width/_height too (Bug#17120)
The purpose of this change is to have implied frame size changes pick up sizes requested by previous explicit size changes not only after they have been confirmed by the WM but already when they are initially passed to adjust_frame_size (Bug#17120). * src/dispextern.h (delayed_size_change): Remove extern. * src/dispnew.c (delayed_size_change): Make static again. (do_pending_window_change): Call change_frame_size only if F's new_size_p flag is set. (change_frame_size_1): Set/reset F's new_size_p flag * src/frame.c (adjust_frame_size): Remove extra inhibit_horizontal/_vertical checks. Improve the implied resizes check with INHIBIT equals 2. Set F's new_width and new_height and reset F's new_size_p flag when we run set_window_size_hook with INHIBIT 0 or 1. * src/frame.h (struct frame): New bit slot new_size_p. * src/gtkutil.c (xg_frame_resized): Use F's new_size_p flag instead of delayed_size_change to decide whether to call change_frame_size. (xg_frame_set_char_size): Call frame_size_history_extra before waiting for the ConfigureNotify event. * src/xterm.c (handle_one_xevent): Use F's new_size_p flag instead of delayed_size_change to decide whether to call change_frame_size.
Diffstat (limited to 'src/frame.h')
-rw-r--r--src/frame.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/frame.h b/src/frame.h
index 19ee6ac10e7..744b95e1e04 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -453,6 +453,11 @@ struct frame
frame is in the process of being redisplayed. */
bool_bf inhibit_clear_image_cache : 1;
+ /* True when new_width or new_height were set by change_frame_size,
+ false when they were set by adjust_frame_size internally or not
+ set. */
+ bool_bf new_size_p;
+
/* Bitfield area ends here. */
/* This frame's change stamp, set the last time window change