diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-06-01 18:11:22 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-06-01 18:11:22 +0200 |
commit | 8caaf82569a6bfec2b575997b3a84e5623eff12d (patch) | |
tree | 83bdaeb508f38a87401e50575971eceda1db98fd /src | |
parent | bf0eff0b724ebf4951f7ca82e6c648451f9f0c01 (diff) | |
download | vim-git-8caaf82569a6bfec2b575997b3a84e5623eff12d.tar.gz |
patch 8.1.1442: popup windows not considered when the Vim window is resizedv8.1.1442
Problem: Popup windows not considered when the Vim window is resized.
(Ben Jackson)
Solution: Reallocate the w_lines structure. (closes #4467)
Diffstat (limited to 'src')
-rw-r--r-- | src/screen.c | 27 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/screen.c b/src/screen.c index a8b10dedb..304c8c644 100644 --- a/src/screen.c +++ b/src/screen.c @@ -8892,6 +8892,15 @@ retry: win_free_lsize(wp); if (aucmd_win != NULL) win_free_lsize(aucmd_win); +#ifdef FEAT_TEXT_PROP + // global popup windows + for (wp = first_popupwin; wp != NULL; wp = wp->w_next) + win_free_lsize(wp); + // tab-local popup windows + FOR_ALL_TABPAGES(tp) + for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next) + win_free_lsize(wp); +#endif new_ScreenLines = LALLOC_MULT(schar_T, (Rows + 1) * Columns); vim_memset(new_ScreenLinesC, 0, sizeof(u8char_T *) * MAX_MCO); @@ -8920,6 +8929,24 @@ retry: if (aucmd_win != NULL && aucmd_win->w_lines == NULL && win_alloc_lines(aucmd_win) == FAIL) outofmem = TRUE; +#ifdef FEAT_TEXT_PROP + // global popup windows + for (wp = first_popupwin; wp != NULL; wp = wp->w_next) + if (win_alloc_lines(wp) == FAIL) + { + outofmem = TRUE; + goto give_up; + } + // tab-local popup windows + FOR_ALL_TABPAGES(tp) + for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next) + if (win_alloc_lines(wp) == FAIL) + { + outofmem = TRUE; + goto give_up; + } +#endif + give_up: for (i = 0; i < p_mco; ++i) diff --git a/src/version.c b/src/version.c index 4b472ee89..f2602d696 100644 --- a/src/version.c +++ b/src/version.c @@ -768,6 +768,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1442, +/**/ 1441, /**/ 1440, |