]> granicus.if.org Git - vim/commitdiff
patch 8.1.1496: popup window height is not recomputed v8.1.1496
authorBram Moolenaar <Bram@vim.org>
Sat, 8 Jun 2019 15:15:51 +0000 (17:15 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 8 Jun 2019 15:15:51 +0000 (17:15 +0200)
Problem:    Popup window height is not recomputed.
Solution:   Recompute the height when needed.

src/popupwin.c
src/testdir/dumps/Test_popupwin_06.dump
src/version.c

index 13ba6391db42fe1f597eb78e46aa03a412be15eb..000bed9b70dcb67388546603f722d8d80f4fd6c2 100644 (file)
@@ -541,8 +541,7 @@ popup_adjust_position(win_T *wp)
            wp->w_wincol = wp->w_wantcol - (wp->w_width + extra_width);
     }
 
-    if (wp->w_height <= 1)
-       wp->w_height = wp->w_buffer->b_ml.ml_line_count + wrapped;
+    wp->w_height = wp->w_buffer->b_ml.ml_line_count + wrapped;
     if (wp->w_minheight > 0 && wp->w_height < wp->w_minheight)
        wp->w_height = wp->w_minheight;
     if (wp->w_maxheight > 0 && wp->w_height > wp->w_maxheight)
@@ -566,11 +565,13 @@ popup_adjust_position(win_T *wp)
     wp->w_popup_last_changedtick = CHANGEDTICK(wp->w_buffer);
 
     // Need to update popup_mask if the position or size changed.
+    // And redraw windows that were behind the popup.
     if (org_winrow != wp->w_winrow
            || org_wincol != wp->w_wincol
            || org_width != wp->w_width
            || org_height != wp->w_height)
     {
+       // TODO: redraw only windows that were below the popup.
        redraw_all_later(NOT_VALID);
        popup_mask_refresh = TRUE;
     }
index 3dfcbc2f845a73c04c84f4777b273f0c23fe99a0..59a9d0ed00d9c664d0a63cd5cd2121bde180c786 100644 (file)
@@ -4,7 +4,7 @@
 |~| @6|o+0#0000001#ffd7ff255|t|h|e|r| |t|a|b| @15| +0#4040ff13#ffffff0@41
 |~| @6|a+0#0000001#ffd7ff255| |c+0#ff404010&|o|m@1|e|n|t| +0#0000001&|l|i|n|e| @10| +0#4040ff13#ffffff0@41
 |~| @6|t+0#0000001#ffd7ff255|h|i|s| |l|i|n|e| |w|i|l@1| |n|o|t| |f|i|t| |h|e| +0#4040ff13#ffffff0@41
-|~| @73
+|~| @6|r+0#0000001#ffd7ff255|e| @22| +0#4040ff13#ffffff0@41
 |~| @73
 |~| @73
 |:+0#0000000&|r|e|d|r|a|w| @49|0|,|0|-|1| @8|A|l@1| 
index 504a1631c065a6d97da4c25c948dd21e41885350..132329f05380eb2f17e3f3795a3b49c041c1c5d5 100644 (file)
@@ -767,6 +767,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1496,
 /**/
     1495,
 /**/