summaryrefslogtreecommitdiff
path: root/src/beval.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-07-08 22:23:33 +0200
committerBram Moolenaar <Bram@vim.org>2019-07-08 22:23:33 +0200
commit8a7383b6d28be02413cf115d4b8ed1b44d60dd9f (patch)
tree1965d70cea9fc29329cb4f14c891b55fc76385fe /src/beval.c
parent0d07155c8bbaca1a527b79da358438253a60839f (diff)
downloadvim-git-8a7383b6d28be02413cf115d4b8ed1b44d60dd9f.tar.gz
patch 8.1.1654: GUI: screen updates from 'balloonexpr' are not displayedv8.1.1654
Problem: GUI: screen updates from 'balloonexpr' are not displayed. Solution: Update the screen if needed. Also avoid the cursor being displayed in the wrong position.
Diffstat (limited to 'src/beval.c')
-rw-r--r--src/beval.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/beval.c b/src/beval.c
index 68df2be9e..ef307c524 100644
--- a/src/beval.c
+++ b/src/beval.c
@@ -294,11 +294,17 @@ general_beval_cb(BalloonEval *beval, int state UNUSED)
set_vim_var_string(VV_BEVAL_TEXT, NULL, -1);
if (result != NULL && result[0] != NUL)
- {
post_balloon(beval, result, NULL);
- recursive = FALSE;
- return;
- }
+
+# ifdef FEAT_GUI
+ // The 'balloonexpr' evaluation may show something on the screen
+ // that requires a screen update.
+ if (gui.in_use && must_redraw)
+ redraw_after_callback(FALSE);
+# endif
+
+ recursive = FALSE;
+ return;
}
}
#endif