Handle top margin change in adjust_frame_size
* src/frame.c (adjust_frame_size): Handle case where only pseudo windows changed height so the top margin has to be adjusted. * src/window.c (Fset_window_configuration): Call adjust_frame_size with inhibit 4.
This commit is contained in:
parent
068b4fce52
commit
d68e8495e0
2 changed files with 9 additions and 9 deletions
11
src/frame.c
11
src/frame.c
|
@ -704,18 +704,17 @@ adjust_frame_size (struct frame *f, int new_width, int new_height, int inhibit,
|
|||
inhibit_vertical ? Qt : Qnil));
|
||||
|
||||
if (FRAME_TERMINAL (f)->set_window_size_hook)
|
||||
FRAME_TERMINAL (f)->set_window_size_hook (f,
|
||||
0,
|
||||
new_text_width,
|
||||
new_text_height,
|
||||
1);
|
||||
FRAME_TERMINAL (f)->set_window_size_hook
|
||||
(f, 0, new_text_width, new_text_height, 1);
|
||||
f->resized_p = true;
|
||||
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (new_text_width == old_text_width
|
||||
if ((XWINDOW (FRAME_ROOT_WINDOW (f))->pixel_top
|
||||
== FRAME_TOP_MARGIN_HEIGHT (f))
|
||||
&& new_text_width == old_text_width
|
||||
&& new_text_height == old_text_height
|
||||
&& new_windows_width == old_windows_width
|
||||
&& new_windows_height == old_windows_height
|
||||
|
|
|
@ -7129,10 +7129,11 @@ the return value is nil. Otherwise the value is t. */)
|
|||
if (NILP (leaf_windows[i]->contents))
|
||||
free_window_matrices (leaf_windows[i]);
|
||||
|
||||
/* Allow set_window_size_hook again and apply frame size changes
|
||||
if needed. */
|
||||
/* Allow set_window_size_hook again and resize frame's windows
|
||||
if necessary. But change frame size only to preserve window
|
||||
minimum sizes. */
|
||||
f->can_set_window_size = true;
|
||||
adjust_frame_size (f, -1, -1, 1, false, Qset_window_configuration);
|
||||
adjust_frame_size (f, -1, -1, 4, false, Qset_window_configuration);
|
||||
|
||||
adjust_frame_glyphs (f);
|
||||
unblock_input ();
|
||||
|
|
Loading…
Add table
Reference in a new issue