aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/screen.c
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2015-01-12 08:59:51 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2015-01-13 21:21:20 -0300
commit784bda07040bda16a2e004dcac39a5194d5053b1 (patch)
treeeec4c897eac4e07e76cf4fdc30468e9f71aecabe /src/nvim/screen.c
parentf3666e55a44b3f241a98c9509551e2d2bb7bae12 (diff)
downloadrneovim-784bda07040bda16a2e004dcac39a5194d5053b1.tar.gz
rneovim-784bda07040bda16a2e004dcac39a5194d5053b1.tar.bz2
rneovim-784bda07040bda16a2e004dcac39a5194d5053b1.zip
ui: Fix redraw bug caused by race conditions with remote clients
Before sending a resize command to the UIs, flush the current output buffer to ensure no redraw commands for a screen with invalid size are processed.
Diffstat (limited to 'src/nvim/screen.c')
-rw-r--r--src/nvim/screen.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c
index 52ded0aa49..5cfda13dbd 100644
--- a/src/nvim/screen.c
+++ b/src/nvim/screen.c
@@ -8188,6 +8188,9 @@ void screen_resize(int width, int height, int mustset)
check_shellsize();
if (abstract_ui) {
+ // Clear the output buffer to ensure UIs don't receive redraw command meant
+ // for invalid screen sizes.
+ out_buf_clear();
ui_resize(width, height);
} else {
mch_set_shellsize();