Patch 8.1.1917
Problem:    Non-current window is not redrawn when moving popup. (Ben Jackson)
Solution:   Redraw all windows under a popup. (closes #4860)
Files:      src/popupwin.c, src/testdir/test_popupwin.vim,
            src/testdir/dumps/Test_popupwin_drag_01.dump,
            src/testdir/dumps/Test_popupwin_drag_02.dump,
            src/testdir/dumps/Test_popupwin_drag_03.dump


*** ../vim-8.1.1916/src/popupwin.c      2019-08-21 22:25:26.030016778 +0200
--- src/popupwin.c      2019-08-24 14:41:53.089353365 +0200
***************
*** 1219,1225 ****
      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_leftcol != wp->w_leftcol
--- 1219,1225 ----
      wp->w_popup_last_changedtick = CHANGEDTICK(wp->w_buffer);
  
      // Need to update popup_mask if the position or size changed.
!     // And redraw windows and statuslines that were behind the popup.
      if (org_winrow != wp->w_winrow
            || org_wincol != wp->w_wincol
            || org_leftcol != wp->w_leftcol
***************
*** 1227,1234 ****
            || org_width != wp->w_width
            || org_height != wp->w_height)
      {
-       redraw_all_later(VALID);
        redraw_win_later(wp, NOT_VALID);
        if (wp->w_popup_flags & POPF_ON_CMDLINE)
            clear_cmdline = TRUE;
        popup_mask_refresh = TRUE;
--- 1227,1235 ----
            || org_width != wp->w_width
            || org_height != wp->w_height)
      {
        redraw_win_later(wp, NOT_VALID);
+       redraw_all_later(SOME_VALID);
+       status_redraw_all();
        if (wp->w_popup_flags & POPF_ON_CMDLINE)
            clear_cmdline = TRUE;
        popup_mask_refresh = TRUE;
*** ../vim-8.1.1916/src/testdir/test_popupwin.vim       2019-08-21 
22:49:48.111267837 +0200
--- src/testdir/test_popupwin.vim       2019-08-24 14:37:45.750502447 +0200
***************
*** 343,348 ****
--- 343,353 ----
    " create a popup that covers the command line
    let lines =<< trim END
        call setline(1, range(1, 20))
+       split
+       vsplit
+       $wincmd w
+       vsplit
+       1wincmd w
        let winid = popup_create(['1111', '222222', '33333'], #{
              \ drag: 1,
              \ resize: 1,
***************
*** 353,364 ****
          call feedkeys("\<F3>\<LeftMouse>\<F4>\<LeftDrag>\<LeftRelease>", "xt")
        endfunc
        map <silent> <F3> :call test_setmouse(&lines - 4, &columns / 2)<CR>
!       map <silent> <F4> :call test_setmouse(&lines - 8, &columns / 2)<CR>
        func Resize()
          call feedkeys("\<F5>\<LeftMouse>\<F6>\<LeftDrag>\<LeftRelease>", "xt")
        endfunc
!       map <silent> <F5> :call test_setmouse(6, 41)<CR>
!       map <silent> <F6> :call test_setmouse(7, 45)<CR>
    END
    call writefile(lines, 'XtestPopupDrag')
    let buf = RunVimInTerminal('-S XtestPopupDrag', #{rows: 10})
--- 358,369 ----
          call feedkeys("\<F3>\<LeftMouse>\<F4>\<LeftDrag>\<LeftRelease>", "xt")
        endfunc
        map <silent> <F3> :call test_setmouse(&lines - 4, &columns / 2)<CR>
!       map <silent> <F4> :call test_setmouse(&lines - 8, &columns / 2 - 20)<CR>
        func Resize()
          call feedkeys("\<F5>\<LeftMouse>\<F6>\<LeftDrag>\<LeftRelease>", "xt")
        endfunc
!       map <silent> <F5> :call test_setmouse(6, 21)<CR>
!       map <silent> <F6> :call test_setmouse(7, 25)<CR>
    END
    call writefile(lines, 'XtestPopupDrag')
    let buf = RunVimInTerminal('-S XtestPopupDrag', #{rows: 10})
*** ../vim-8.1.1916/src/testdir/dumps/Test_popupwin_drag_01.dump        
2019-08-01 21:09:49.923160274 +0200
--- src/testdir/dumps/Test_popupwin_drag_01.dump        2019-08-24 
14:38:26.806314292 +0200
***************
*** 1,10 ****
! >1+0&#ffffff0| @73
! |2| @73
! |3| @73
! |4| @73
! |5| @73
! |6| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#0000000#ffffff0@33
! |7| @31|║+0#0000001#ffd7ff255|1@3| @1|║| +0#0000000#ffffff0@33
! |8| @31|║+0#0000001#ffd7ff255|2@5|║| +0#0000000#ffffff0@33
! |9| @31|║+0#0000001#ffd7ff255|3@4| |║| +0#0000000#ffffff0@33
! @33|╚+0#0000001#ffd7ff255|═@5|⇲| +0#0000000#ffffff0@15|1|,|1| @10|T|o|p| 
--- 1,10 ----
! >1+0&#ffffff0| @35||+1&&|1+0&&| @35
! |2| @35||+1&&|2+0&&| @35
! |3| @35||+1&&|3+0&&| @35
! |4| @35||+1&&|4+0&&| @35
! |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p| |[+1&&|N|o| |N|a|m|e|]| 
|[|+|]| @5|1|,|1| @11|T|o|p
! |1+0&&| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#0000000#ffffff0@33
! |2| @31|║+0#0000001#ffd7ff255|1@3| @1|║| +0#0000000#ffffff0@33
! |3| @31|║+0#0000001#ffd7ff255|2@5|║| +0#0000000#ffffff0@33
! |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @10|║+0#0000001#ffd7ff255|3@4| |║| 
+1#0000000#ffffff0|N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
! | +0&&@32|╚+0#0000001#ffd7ff255|═@5|⇲| +0#0000000#ffffff0@33
*** ../vim-8.1.1916/src/testdir/dumps/Test_popupwin_drag_02.dump        
2019-08-01 21:09:49.923160274 +0200
--- src/testdir/dumps/Test_popupwin_drag_02.dump        2019-08-24 
14:42:02.325309812 +0200
***************
*** 1,10 ****
! >1+0&#ffffff0| @73
! |2| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#0000000#ffffff0@33
! |3| @31|║+0#0000001#ffd7ff255|1@3| @1|║| +0#0000000#ffffff0@33
! |4| @31|║+0#0000001#ffd7ff255|2@5|║| +0#0000000#ffffff0@33
! |5| @31|║+0#0000001#ffd7ff255|3@4| |║| +0#0000000#ffffff0@33
! |6| @31|╚+0#0000001#ffd7ff255|═@5|⇲| +0#0000000#ffffff0@33
! |7| @73
! |8| @73
! |9| @73
! @57|1|,|1| @10|T|o|p| 
--- 1,10 ----
! >1+0&#ffffff0| @35||+1&&|1+0&&| @35
! |2| @11|╔+0#0000001#ffd7ff255|═@5|╗| +0#0000000#ffffff0@15||+1&&|2+0&&| @35
! |3| @11|║+0#0000001#ffd7ff255|1@3| @1|║| +0#0000000#ffffff0@15||+1&&|3+0&&| 
@35
! |4| @11|║+0#0000001#ffd7ff255|2@5|║| +0#0000000#ffffff0@15||+1&&|4+0&&| @35
! |[+3&&|N|o| |N|a|m|e|]| |[|+|]|║+0#0000001#ffd7ff255|3@4| 
|║|1+3#0000000#ffffff0| @11|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| 
@11|T|o|p
! |1+0&&| @11|╚+0#0000001#ffd7ff255|═@5|⇲| +0#0000000#ffffff0@15||+1&&|1+0&&| 
@35
! |2| @35||+1&&|2+0&&| @35
! |3| @35||+1&&|3+0&&| @35
! |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p| |[|N|o| |N|a|m|e|]| 
|[|+|]| @5|1|,|1| @11|T|o|p
! | +0&&@74
*** ../vim-8.1.1916/src/testdir/dumps/Test_popupwin_drag_03.dump        
2019-08-01 21:09:49.923160274 +0200
--- src/testdir/dumps/Test_popupwin_drag_03.dump        2019-08-24 
14:42:03.381304829 +0200
***************
*** 1,10 ****
! >1+0&#ffffff0| @73
! |2| @31|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@29
! |3| @31|║+0#0000001#ffd7ff255|1@3| @5|║| +0#0000000#ffffff0@29
! |4| @31|║+0#0000001#ffd7ff255|2@5| @3|║| +0#0000000#ffffff0@29
! |5| @31|║+0#0000001#ffd7ff255|3@4| @4|║| +0#0000000#ffffff0@29
! |6| @31|║+0#0000001#ffd7ff255| +0#4040ff13&@9|║+0#0000001&| 
+0#0000000#ffffff0@29
! |7| @31|╚+0#0000001#ffd7ff255|═@9|⇲| +0#0000000#ffffff0@29
! |8| @73
! |9| @73
! |:|c|a|l@1| |R|e|s|i|z|e|(|)| @42|1|,|1| @10|T|o|p| 
--- 1,10 ----
! >1+0&#ffffff0| @35||+1&&|1+0&&| @35
! |2| @11|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@11||+1&&|2+0&&| @35
! |3| @11|║+0#0000001#ffd7ff255|1@3| @5|║| +0#0000000#ffffff0@11||+1&&|3+0&&| 
@35
! |4| @11|║+0#0000001#ffd7ff255|2@5| @3|║| +0#0000000#ffffff0@11||+1&&|4+0&&| 
@35
! |[+3&&|N|o| |N|a|m|e|]| |[|+|]|║+0#0000001#ffd7ff255|3@4| @4|║| 
+3#0000000#ffffff0@8|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
! |1+0&&| @11|║+0#0000001#ffd7ff255| +0#4040ff13&@9|║+0#0000001&| 
+0#0000000#ffffff0@11||+1&&|1+0&&| @35
! |2| @11|╚+0#0000001#ffd7ff255|═@9|⇲| +0#0000000#ffffff0@11||+1&&|2+0&&| @35
! |3| @35||+1&&|3+0&&| @35
! |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p| |[|N|o| |N|a|m|e|]| 
|[|+|]| @5|1|,|1| @11|T|o|p
! |:+0&&|c|a|l@1| |R|e|s|i|z|e|(|)| @60
*** ../vim-8.1.1916/src/version.c       2019-08-24 14:16:28.264782382 +0200
--- src/version.c       2019-08-24 14:45:50.508223051 +0200
***************
*** 763,764 ****
--- 763,766 ----
  {   /* Add new patch number below this line */
+ /**/
+     1917,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
106. When told to "go to your room" you inform your parents that you
     can't...because you were kicked out and banned.

 /// 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/201908241247.x7OCl2sQ000641%40masaka.moolenaar.net.

Raspunde prin e-mail lui