mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 9.0.0318: clearing screen causes flicker
Problem: Clearing screen causes flicker. Solution: Do not clear but redraw in more cases. Add () to "wait_return".
This commit is contained in:
@@ -1930,24 +1930,9 @@ win_update(win_T *wp)
|
||||
}
|
||||
}
|
||||
|
||||
// When starting redraw in the first line, redraw all lines. When
|
||||
// there is only one window it's probably faster to clear the screen
|
||||
// first.
|
||||
// When starting redraw in the first line, redraw all lines.
|
||||
if (mid_start == 0)
|
||||
{
|
||||
mid_end = wp->w_height;
|
||||
if (ONE_WINDOW && !WIN_IS_POPUP(wp))
|
||||
{
|
||||
// Clear the screen when it was not done by win_del_lines() or
|
||||
// win_ins_lines() above, "screen_cleared" is FALSE or MAYBE
|
||||
// then.
|
||||
if (screen_cleared != TRUE)
|
||||
screenclear();
|
||||
// The screen was cleared, redraw the tab pages line.
|
||||
if (redraw_tabline)
|
||||
draw_tabline();
|
||||
}
|
||||
}
|
||||
|
||||
// When win_del_lines() or win_ins_lines() caused the screen to be
|
||||
// cleared (only happens for the first window) or when screenclear()
|
||||
@@ -3183,7 +3168,7 @@ redraw_later_clear(void)
|
||||
}
|
||||
|
||||
/*
|
||||
* Mark all windows to be redrawn later.
|
||||
* Mark all windows to be redrawn later. Except popup windows.
|
||||
*/
|
||||
void
|
||||
redraw_all_later(int type)
|
||||
@@ -3196,6 +3181,20 @@ redraw_all_later(int type)
|
||||
set_must_redraw(type);
|
||||
}
|
||||
|
||||
#if 0 // not actually used yet, it probably should
|
||||
/*
|
||||
* Mark all windows, including popup windows, to be redrawn.
|
||||
*/
|
||||
void
|
||||
redraw_all_windows_later(int type)
|
||||
{
|
||||
redraw_all_later(type);
|
||||
#ifdef FEAT_PROP_POPUP
|
||||
popup_redraw_all(); // redraw all popup windows
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Set "must_redraw" to "type" unless it already has a higher value
|
||||
* or it is currently not allowed.
|
||||
|
Reference in New Issue
Block a user