mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
ui: disable 'lazyredraw' during ui_refresh.
Could also try `do_redraw = true` instead of save/restore `p_lz`, but the nice thing about save/restore of `p_lz` is that it is "atomic". The semantics of `do_redraw` are not clear to me. Closes #4884 References #6202 References https://github.com/neovim/neovim/pull/6202#issuecomment-284379503 References #3929 #5692 #6157 References #5866
This commit is contained in:
parent
d258ac8ed2
commit
34e5654f21
@ -7440,13 +7440,11 @@ int number_width(win_T *wp)
|
|||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/// Set size of the Vim shell.
|
||||||
* Set size of the Vim shell.
|
/// If 'mustset' is TRUE, we must set Rows and Columns, do not get the real
|
||||||
* If 'mustset' is TRUE, we must set Rows and Columns, do not get the real
|
/// window size (this is used for the :win command).
|
||||||
* window size (this is used for the :win command).
|
/// If 'mustset' is FALSE, we may try to get the real window size and if
|
||||||
* If 'mustset' is FALSE, we may try to get the real window size and if
|
/// it fails use 'width' and 'height'.
|
||||||
* it fails use 'width' and 'height'.
|
|
||||||
*/
|
|
||||||
void screen_resize(int width, int height)
|
void screen_resize(int width, int height)
|
||||||
{
|
{
|
||||||
static int busy = FALSE;
|
static int busy = FALSE;
|
||||||
|
@ -193,7 +193,12 @@ void ui_refresh(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
row = col = 0;
|
row = col = 0;
|
||||||
|
|
||||||
|
int save_p_lz = p_lz;
|
||||||
|
p_lz = false; // convince redrawing() to return true ...
|
||||||
screen_resize(width, height);
|
screen_resize(width, height);
|
||||||
|
p_lz = save_p_lz;
|
||||||
|
|
||||||
for (UIWidget i = 0; (int)i < UI_WIDGETS; i++) {
|
for (UIWidget i = 0; (int)i < UI_WIDGETS; i++) {
|
||||||
ui_set_external(i, ext_widgets[i]);
|
ui_set_external(i, ext_widgets[i]);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user