0
0
mirror of https://github.com/vim/vim.git synced 2025-07-24 10:45:12 -04:00

patch 8.2.0745: crash on exit when not all popups are closed

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.
This commit is contained in:
Bram Moolenaar 2020-05-12 23:45:16 +02:00
parent 47e13953ff
commit 06f0853cb0
3 changed files with 11 additions and 7 deletions

View File

@ -2484,11 +2484,6 @@ do_ecmd(
int did_inc_redrawing_disabled = FALSE;
long *so_ptr = curwin->w_p_so >= 0 ? &curwin->w_p_so : &p_so;
#ifdef FEAT_PROP_POPUP
if (ERROR_IF_TERM_POPUP_WINDOW)
return FAIL;
#endif
if (eap != NULL)
command = eap->do_ecmd_cmd;
set_bufref(&old_curbuf, curbuf);

View File

@ -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();

View File

@ -746,6 +746,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
745,
/**/
744,
/**/