changeset 17310:1b0b90f1d95e v8.1.1654

patch 8.1.1654: GUI: screen updates from 'balloonexpr' are not displayed commit https://github.com/vim/vim/commit/8a7383b6d28be02413cf115d4b8ed1b44d60dd9f Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jul 8 22:23:33 2019 +0200 patch 8.1.1654: GUI: screen updates from 'balloonexpr' are not displayed 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.
author Bram Moolenaar <Bram@vim.org>
date Mon, 08 Jul 2019 22:30:04 +0200
parents bd871e780f34
children bfb4d8e3544d
files src/beval.c src/version.c
diffstat 2 files changed, 12 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/beval.c
+++ b/src/beval.c
@@ -294,11 +294,17 @@ general_beval_cb(BalloonEval *beval, int
 
 	    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
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1654,
+/**/
     1653,
 /**/
     1652,