diff options
author | Eli Zaretskii <eliz@gnu.org> | 2023-01-02 17:02:05 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2023-01-02 17:02:05 +0200 |
commit | d26b523886ee52548648ca660fc2933eadf49a55 (patch) | |
tree | e0cfdf398692587094e50e04bcb98b5f02ebd581 /src/w32fns.c | |
parent | 3f7ea621b9008bc507048ee23466f3259b6b620d (diff) | |
download | emacs-d26b523886ee52548648ca660fc2933eadf49a55.tar.gz |
Fix shrinking of the tab-bar
* src/haikufns.c (haiku_change_tab_bar_height):
* src/pgtkfns.c (pgtk_change_tab_bar_height):
* src/nsfns.m (ns_change_tab_bar_height):
* src/w32fns.c (w32_change_tab_bar_height):
* src/xfns.c (x_change_tab_bar_height): Don't let the number of
tab-bar lines degenerate to zero due to integer division.
(Bug#60210)
Diffstat (limited to 'src/w32fns.c')
-rw-r--r-- | src/w32fns.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/w32fns.c b/src/w32fns.c index 9d02e680fe8..192d3ddf27a 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -1717,19 +1717,17 @@ w32_set_tab_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) void w32_change_tab_bar_height (struct frame *f, int height) { - int unit, old_height, lines; - Lisp_Object fullscreen; - - unit = FRAME_LINE_HEIGHT (f); - old_height = FRAME_TAB_BAR_HEIGHT (f); - fullscreen = get_frame_param (f, Qfullscreen); + int unit = FRAME_LINE_HEIGHT (f); + int old_height = FRAME_TAB_BAR_HEIGHT (f); /* This differs from the tool bar code in that the tab bar height is not rounded up. Otherwise, if redisplay_tab_bar decides to grow the tab bar by even 1 pixel, FRAME_TAB_BAR_LINES will be changed, leading to the tab bar height being incorrectly set upon the next call to x_set_font. (bug#59285) */ - lines = height / unit; + int lines = height / unit; + if (lines == 0 && height != 0) + lines = 1; /* Make sure we redisplay all windows in this frame. */ fset_redisplay (f); @@ -1758,6 +1756,8 @@ w32_change_tab_bar_height (struct frame *f, int height) if (!f->tab_bar_resized) { + Lisp_Object fullscreen = get_frame_param (f, Qfullscreen); + /* As long as tab_bar_resized is false, effectively try to change F's native height. */ if (NILP (fullscreen) || EQ (fullscreen, Qfullwidth)) |