screen.c: fix redrawing tabline when messages overflow screen

This commit is contained in:
Björn Linse
2018-07-23 21:35:59 +02:00
parent 11861bc9c8
commit d545413492

View File

@@ -283,8 +283,11 @@ void update_screen(int type)
if (msg_scrolled) { if (msg_scrolled) {
clear_cmdline = true; clear_cmdline = true;
if (dy_flags & DY_MSGSEP) { if (dy_flags & DY_MSGSEP) {
int valid = MAX(Rows - msg_scrollsize(), 0);
if (valid == 0) {
redraw_tabline = true;
}
FOR_ALL_WINDOWS_IN_TAB(wp, curtab) { FOR_ALL_WINDOWS_IN_TAB(wp, curtab) {
int valid = Rows - msg_scrollsize();
if (wp->w_winrow + wp->w_height > valid) { if (wp->w_winrow + wp->w_height > valid) {
wp->w_redr_type = NOT_VALID; wp->w_redr_type = NOT_VALID;
wp->w_lines_valid = 0; wp->w_lines_valid = 0;
@@ -292,9 +295,6 @@ void update_screen(int type)
if (wp->w_winrow + wp->w_height + wp->w_status_height > valid) { if (wp->w_winrow + wp->w_height + wp->w_status_height > valid) {
wp->w_redr_status = true; wp->w_redr_status = true;
} }
if (valid == 0) {
redraw_tabline = true;
}
} }
} else if (msg_scrolled > Rows - 5) { // clearing is faster } else if (msg_scrolled > Rows - 5) { // clearing is faster
type = CLEAR; type = CLEAR;