]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.2.0402: pum: opacity not applied to wildmenu pum v9.2.0402
authorYasuhiro Matsumoto <mattn.jp@gmail.com>
Mon, 27 Apr 2026 18:05:12 +0000 (18:05 +0000)
committerChristian Brabandt <cb@256bit.org>
Mon, 27 Apr 2026 18:05:12 +0000 (18:05 +0000)
Problem:  pum: opacity not applied to wildmenu pum
Solution: Call pum_call_update_screen() in cmdline_pum_display() when
          opacity is set, fix flicker by checking against expected row
          (Yasuhiro Matsumoto).

closes: #20072

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/cmdexpand.c
src/popupmenu.c
src/version.c

index befc18c79cd30938d8d2aa0bffd596da501436a0..478cda25a0113ea1ce21523cfbe73de9d5773875 100644 (file)
@@ -436,6 +436,8 @@ cmdline_pum_create(
     void
 cmdline_pum_display(void)
 {
+    if (p_po > 0 && p_po < 100 && !pum_redraw_in_same_position())
+       pum_call_update_screen();
     pum_display(compl_match_array, compl_match_arraysize, compl_selected);
 }
 
index cadcda7f4d01712fdfb94d0bc7dc4f9de486268a..b7929607d98b710991fe1aba5af8d597116dcb72 100644 (file)
@@ -1617,8 +1617,12 @@ pum_visible(void)
     static int
 pum_in_same_position(void)
 {
+    int            row = (State & MODE_CMDLINE)
+                       ? cmdline_row
+                       : curwin->w_wrow + W_WINROW(curwin);
+
     return pum_window != curwin
-           || (pum_win_row == curwin->w_wrow + W_WINROW(curwin)
+           || (pum_win_row == row
                && pum_win_height == curwin->w_height
                && pum_win_col == curwin->w_wincol
                && pum_win_width == curwin->w_width);
index df55ec4d406b7e7e405a12aa6ee28b5e0f2a9dd9..45f5719329135a33059e1e7be7f178f6b948e39e 100644 (file)
@@ -729,6 +729,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    402,
 /**/
     401,
 /**/