summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-06-01 18:11:22 +0200
committerBram Moolenaar <Bram@vim.org>2019-06-01 18:11:22 +0200
commit8caaf82569a6bfec2b575997b3a84e5623eff12d (patch)
tree83bdaeb508f38a87401e50575971eceda1db98fd /src
parentbf0eff0b724ebf4951f7ca82e6c648451f9f0c01 (diff)
downloadvim-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.c27
-rw-r--r--src/version.c2
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,