diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-05-09 13:50:16 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-05-09 13:50:16 +0200 |
commit | be0a2597ae0d9eb0b8a8a2fc9ae1784faa929844 (patch) | |
tree | 29c80c119b12d1004fd287f0b63525a931ec59cd /src/gui_beval.c | |
parent | 06bd824869b1cb7a85e64ec94135a35698be5b7f (diff) | |
download | vim-git-be0a2597ae0d9eb0b8a8a2fc9ae1784faa929844.tar.gz |
patch 8.1.1303: not possible to hide a balloonv8.1.1303
Problem: Not possible to hide a balloon.
Solution: Hide the balloon when balloon_show() is called with an empty
string or list. Add balloon_gettext().
Diffstat (limited to 'src/gui_beval.c')
-rw-r--r-- | src/gui_beval.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/gui_beval.c b/src/gui_beval.c index e1e093f37..f4309b8c3 100644 --- a/src/gui_beval.c +++ b/src/gui_beval.c @@ -117,7 +117,8 @@ gui_mch_create_beval_area( beval->appContext = XtWidgetToApplicationContext((Widget)target); #endif beval->showState = ShS_NEUTRAL; - beval->msg = mesg; + vim_free(beval->msg); + beval->msg = mesg == NULL ? NULL : vim_strsave(mesg); beval->msgCB = mesgCB; beval->clientData = clientData; @@ -208,8 +209,9 @@ gui_mch_currently_showing_beval(void) void gui_mch_post_balloon(BalloonEval *beval, char_u *mesg) { - beval->msg = mesg; - if (mesg != NULL) + vim_free(beval->msg); + beval->msg = mesg == NULL ? NULL : vim_strsave(mesg); + if (beval->msg != NULL) drawBalloon(beval); else undrawBalloon(beval); @@ -225,6 +227,7 @@ gui_mch_post_balloon(BalloonEval *beval, char_u *mesg) void gui_mch_unpost_balloon(BalloonEval *beval) { + VIM_CLEAR(beval->msg); undrawBalloon(beval); } #endif @@ -975,6 +978,7 @@ drawBalloon(BalloonEval *beval) gtk_widget_show(beval->balloonShell); beval->showState = ShS_SHOWING; + gui_mch_update(); } } |