diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-05-12 23:45:16 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-05-12 23:45:16 +0200 |
commit | 06f0853cb0b10364b22e5607fdecd35b3936e9ea (patch) | |
tree | 89f267fd30ecc4209363fa4a32739ab714fa3ec0 /src/misc2.c | |
parent | 47e13953ffdbb9f163b901196dec8c2100b72edd (diff) | |
download | vim-git-06f0853cb0b10364b22e5607fdecd35b3936e9ea.tar.gz |
patch 8.2.0745: crash on exit when not all popups are closedv8.2.0745
Problem: Crash on exit when not all popups are closed.
Solution: Close popups when freeing all memory. Disable checking for popup
when editing a file for now.
Diffstat (limited to 'src/misc2.c')
-rw-r--r-- | src/misc2.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/misc2.c b/src/misc2.c index db03b5b1f..0ab6caffa 100644 --- a/src/misc2.c +++ b/src/misc2.c @@ -1069,6 +1069,14 @@ free_all_mem(void) # if defined(FEAT_BEVAL_TERM) ui_remove_balloon(); # endif +# if defined(FEAT_PROP_POPUP) + if (curwin != NULL) + { + while (popup_is_popup(curwin)) + popup_close_with_retval(curwin, 0); + close_all_popups(); + } +# endif // Clear user commands (before deleting buffers). ex_comclear(NULL); @@ -3144,8 +3152,7 @@ call_shell(char_u *cmd, int opt) if (p_verbose > 3) { verbose_enter(); - smsg(_("Calling shell to execute: \"%s\""), - cmd == NULL ? p_sh : cmd); + smsg(_("Calling shell to execute: \"%s\""), cmd == NULL ? p_sh : cmd); out_char('\n'); cursor_on(); verbose_leave(); |