Commit 8a4bb6b0 authored by Martin Rudalics's avatar Martin Rudalics
Browse files

Fix a problem with x_set_tab_bar_lines (Bug#46827)

* src/xfns.c (x_set_tab_bar_lines): Call
x_change_tab_bar_height only if the number of tab bar lines
changed from or to zero (Bug#46827).
* src/xterm.c (x_make_frame_visible): Make frame_size_history
update less noisy by doing it only if the frame wasn't visible
before.
parent 131e874d
Pipeline #10622 failed with stages
in 183 minutes and 5 seconds
......@@ -1608,13 +1608,15 @@ x_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
/* Set the number of lines used for the tab bar of frame F to VALUE.
VALUE not an integer, or < 0 means set the lines to zero. OLDVAL
is the old number of tab bar lines. This function changes the
is the old number of tab bar lines. This function may change the
height of all windows on frame F to match the new tab bar height.
The frame's height doesn't change. */
The frame's height may change if frame_inhibit_implied_resize was
set accordingly. */
static void
x_set_tab_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
{
int olines = FRAME_TAB_BAR_LINES (f);
int nlines;
/* Treat tab bars like menu bars. */
......@@ -1627,7 +1629,8 @@ x_set_tab_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
else
nlines = 0;
x_change_tab_bar_height (f, nlines * FRAME_LINE_HEIGHT (f));
if (nlines != olines && (olines == 0 || nlines == 0))
x_change_tab_bar_height (f, nlines * FRAME_LINE_HEIGHT (f));
}
......
......@@ -11823,12 +11823,14 @@ x_make_frame_visible (struct frame *f)
poll_suppress_count = old_poll_suppress_count;
#endif
if (CONSP (frame_size_history))
frame_size_history_plain
(f, build_string ("x_make_frame_visible"));
if (!FRAME_VISIBLE_P (f))
{
if (CONSP (frame_size_history))
frame_size_history_plain
(f, build_string ("x_make_frame_visible"));
if (! FRAME_VISIBLE_P (f))
x_wait_for_event (f, MapNotify);
x_wait_for_event (f, MapNotify);
}
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment