Mercurial > vim
comparison src/window.c @ 20384:42ab4d40e78f v8.2.0747
patch 8.2.0747: cannot forcefully close all popups
Commit: https://github.com/vim/vim/commit/03a9f848175b182372fb33403998059724a8bf31
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed May 13 13:40:16 2020 +0200
patch 8.2.0747: cannot forcefully close all popups
Problem: Cannot forcefully close all popups.
Solution: Add the "force" argument to popup_clear(). Use it after running a
test. Put back the check for a popup when editing a file.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 13 May 2020 13:45:04 +0200 |
parents | 06a1dd50463e |
children | d91b8d1e5198 |
comparison
equal
deleted
inserted
replaced
20383:1ebebb9b62e7 | 20384:42ab4d40e78f |
---|---|
2764 if (aucmd_win != NULL) | 2764 if (aucmd_win != NULL) |
2765 { | 2765 { |
2766 (void)win_free_mem(aucmd_win, &dummy, NULL); | 2766 (void)win_free_mem(aucmd_win, &dummy, NULL); |
2767 aucmd_win = NULL; | 2767 aucmd_win = NULL; |
2768 } | 2768 } |
2769 # ifdef FEAT_PROP_POPUP | |
2770 close_all_popups(); | |
2771 # endif | |
2772 | 2769 |
2773 while (firstwin != NULL) | 2770 while (firstwin != NULL) |
2774 (void)win_free_mem(firstwin, &dummy, NULL); | 2771 (void)win_free_mem(firstwin, &dummy, NULL); |
2775 | 2772 |
2776 // No window should be used after this. Set curwin to NULL to crash | 2773 // No window should be used after this. Set curwin to NULL to crash |
3799 # ifdef FEAT_DIFF | 3796 # ifdef FEAT_DIFF |
3800 diff_clear(tp); | 3797 diff_clear(tp); |
3801 # endif | 3798 # endif |
3802 # ifdef FEAT_PROP_POPUP | 3799 # ifdef FEAT_PROP_POPUP |
3803 while (tp->tp_first_popupwin != NULL) | 3800 while (tp->tp_first_popupwin != NULL) |
3804 popup_close_tabpage(tp, tp->tp_first_popupwin->w_id); | 3801 popup_close_tabpage(tp, tp->tp_first_popupwin->w_id, TRUE); |
3805 #endif | 3802 #endif |
3806 for (idx = 0; idx < SNAP_COUNT; ++idx) | 3803 for (idx = 0; idx < SNAP_COUNT; ++idx) |
3807 clear_snapshot(tp, idx); | 3804 clear_snapshot(tp, idx); |
3808 #ifdef FEAT_EVAL | 3805 #ifdef FEAT_EVAL |
3809 vars_clear(&tp->tp_vars->dv_hashtab); // free all t: variables | 3806 vars_clear(&tp->tp_vars->dv_hashtab); // free all t: variables |