diff options
| -rw-r--r-- | src/xdisp.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 7c3885c975d..73edc0d7aaf 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -13508,11 +13508,15 @@ tab_bar_height (struct frame *f, int *n_rows, bool pixelwise) | |||
| 13508 | 0, 0, 0, STRING_MULTIBYTE (f->desired_tab_bar_string)); | 13508 | 0, 0, 0, STRING_MULTIBYTE (f->desired_tab_bar_string)); |
| 13509 | it.paragraph_embedding = L2R; | 13509 | it.paragraph_embedding = L2R; |
| 13510 | 13510 | ||
| 13511 | clear_glyph_row (temp_row); | ||
| 13511 | while (!ITERATOR_AT_END_P (&it)) | 13512 | while (!ITERATOR_AT_END_P (&it)) |
| 13512 | { | 13513 | { |
| 13513 | clear_glyph_row (temp_row); | ||
| 13514 | it.glyph_row = temp_row; | 13514 | it.glyph_row = temp_row; |
| 13515 | display_tab_bar_line (&it, -1); | 13515 | display_tab_bar_line (&it, -1); |
| 13516 | /* If the tab-bar string includes newlines, get past it, because | ||
| 13517 | display_tab_bar_line doesn't. */ | ||
| 13518 | if (ITERATOR_AT_END_OF_LINE_P (&it)) | ||
| 13519 | set_iterator_to_next (&it, true); | ||
| 13516 | } | 13520 | } |
| 13517 | clear_glyph_row (temp_row); | 13521 | clear_glyph_row (temp_row); |
| 13518 | 13522 | ||
| @@ -13638,6 +13642,10 @@ redisplay_tab_bar (struct frame *f) | |||
| 13638 | extra -= h; | 13642 | extra -= h; |
| 13639 | } | 13643 | } |
| 13640 | display_tab_bar_line (&it, height + h); | 13644 | display_tab_bar_line (&it, height + h); |
| 13645 | /* If the tab-bar string includes newlines, get past it, | ||
| 13646 | because display_tab_bar_line doesn't. */ | ||
| 13647 | if (ITERATOR_AT_END_OF_LINE_P (&it)) | ||
| 13648 | set_iterator_to_next (&it, true); | ||
| 13641 | } | 13649 | } |
| 13642 | } | 13650 | } |
| 13643 | else | 13651 | else |