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
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 ();