Patch 8.1.1448
Problem:    Statusline is sometimes drawn on top of popup.
Solution:   Redraw popups after the statusline. (Naruhiko Nishino,
            closes #4468)
Files:      src/screen.c, src/testdir/test_popupwin.vim,
            src/testdir/dumps/Test_popupwin_behind.dump


*** ../vim-8.1.1447/src/screen.c        2019-06-01 22:15:10.215177111 +0200
--- src/screen.c        2019-06-02 14:09:46.617667197 +0200
***************
*** 823,829 ****
      did_intro = TRUE;
  
  #ifdef FEAT_TEXT_PROP
!     // Display popup windows on top of the others.
      update_popups();
  #endif
  
--- 823,829 ----
      did_intro = TRUE;
  
  #ifdef FEAT_TEXT_PROP
!     // Display popup windows on top of the windows.
      update_popups();
  #endif
  
***************
*** 987,992 ****
--- 987,997 ----
            win_redr_status(wp, FALSE);
      }
  
+ #ifdef FEAT_TEXT_PROP
+     // Display popup windows on top of the others.
+     update_popups();
+ #endif
+ 
      update_finish();
  }
  #endif
***************
*** 1211,1216 ****
--- 1216,1226 ----
            )
        win_redr_status(wp, FALSE);
  
+ #ifdef FEAT_TEXT_PROP
+     // Display popup windows on top of everything.
+     update_popups();
+ #endif
+ 
      update_finish();
  }
  #endif
***************
*** 6795,6800 ****
--- 6805,6815 ----
            win_redr_status(wp, FALSE);
      if (redraw_tabline)
        draw_tabline();
+ 
+ #ifdef FEAT_TEXT_PROP
+     // Display popup windows on top of the status lines.
+     update_popups();
+ #endif
  }
  
  #if defined(FEAT_WILDMENU) || defined(PROTO)
***************
*** 11101,11106 ****
--- 11116,11126 ----
      /* Redraw the tab pages line if needed. */
      if (redraw_tabline)
        draw_tabline();
+ 
+ #ifdef FEAT_TEXT_PROP
+     // Display popup windows on top of everything.
+     update_popups();
+ #endif
  }
  
  #ifdef FEAT_CMDL_INFO
*** ../vim-8.1.1447/src/testdir/test_popupwin.vim       2019-06-02 
13:22:08.372506989 +0200
--- src/testdir/test_popupwin.vim       2019-06-02 14:06:45.810620422 +0200
***************
*** 610,612 ****
--- 610,649 ----
    call assert_equal(2, pos.width)
    call assert_equal(3, pos.height)
  endfunc
+ 
+ func Test_popup_never_behind()
+   if !CanRunVimInTerminal()
+     return
+   endif
+   " +-----------------------------+
+   " |             |               |
+   " |             |               |
+   " |             |               |
+   " |            line1            |
+   " |------------line2------------|
+   " |            line3            |
+   " |            line4            |
+   " |                             |
+   " |                             |
+   " +-----------------------------+
+   let lines =<< trim END
+     only 
+     split
+     vsplit
+     let info_window1 = getwininfo()[0]
+     let line = info_window1['height']
+     let col = info_window1['width']
+     call popup_create(['line1', 'line2', 'line3', 'line4'], {
+             \   'line' : line,
+             \   'col' : col,
+             \ })
+   END
+   call writefile(lines, 'XtestPopupBehind')
+   let buf = RunVimInTerminal('-S XtestPopupBehind', {'rows': 10})
+   call term_sendkeys(buf, "\<C-W>w")
+   call VerifyScreenDump(buf, 'Test_popupwin_behind', {})
+ 
+   " clean up
+   call StopVimInTerminal(buf)
+   call delete('XtestPopupBehind')
+ endfunc
*** ../vim-8.1.1447/src/testdir/dumps/Test_popupwin_behind.dump 2019-06-02 
14:11:40.761078512 +0200
--- src/testdir/dumps/Test_popupwin_behind.dump 2019-06-02 14:09:56.249617679 
+0200
***************
*** 0 ****
--- 1,10 ----
+ | +0&#ffffff0@36||+1&&> +0&&@36
+ |~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+ |~| @35||+1#0000000&|~+0#4040ff13&| @35
+ |~| @34|l+0#0000001#ffd7ff255|i|n|e|1| +0#4040ff13#ffffff0@33
+ |[+1#0000000&|N|o| |N|a|m|e|]| @9|0|,|0|-|1| 
@9|A|l|l+0#0000001#ffd7ff255|i|n|e|2| +3#0000000#ffffff0|N|a|m|e|]| 
@9|0|,|0|-|1| @9|A|l@1
+ | +0&&@35|l+0#0000001#ffd7ff255|i|n|e|3| +0#0000000#ffffff0@33
+ |~+0#4040ff13&| @34|l+0#0000001#ffd7ff255|i|n|e|4| +0#4040ff13#ffffff0@33
+ |~| @73
+ |[+1#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+ |A+0&&|l|r|e|a|d|y| |o|n|l|y| |o|n|e| |w|i|n|d|o|w| @51
*** ../vim-8.1.1447/src/version.c       2019-06-02 13:22:08.372506989 +0200
--- src/version.c       2019-06-02 13:51:03.867557478 +0200
***************
*** 769,770 ****
--- 769,772 ----
  {   /* Add new patch number below this line */
+ /**/
+     1448,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
90. Instead of calling you to dinner, your spouse sends e-mail.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201906021212.x52CCUgj012498%40masaka.moolenaar.net.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui