Patch 8.1.1665
Problem: Crash when popup window with mask is below the screen.
Solution: Correct boundary check.
Files: src/popupwin.c, src/testdir/test_popupwin.vim,
src/testdir/dumps/Test_popupwin_mask_5.dump
*** ../vim-8.1.1664/src/popupwin.c 2019-07-12 13:59:16.771261635 +0200
--- src/popupwin.c 2019-07-12 16:01:54.503541838 +0200
***************
*** 2323,2330 ****
--lines;
if (lines < 0)
lines = 0;
! for (line = lines; line < linee && line < screen_Rows; ++line)
! for (col = cols; col < cole && col < screen_Columns; ++col)
popup_transparent[(line + wp->w_winrow) * screen_Columns
+ col + wp->w_wincol] = val;
}
--- 2323,2332 ----
--lines;
if (lines < 0)
lines = 0;
! for (line = lines; line < linee
! && line + wp->w_winrow < screen_Rows; ++line)
! for (col = cols; col < cole
! && col + wp->w_wincol < screen_Columns; ++col)
popup_transparent[(line + wp->w_winrow) * screen_Columns
+ col + wp->w_wincol] = val;
}
*** ../vim-8.1.1664/src/testdir/test_popupwin.vim 2019-07-09
20:25:19.911815741 +0200
--- src/testdir/test_popupwin.vim 2019-07-12 15:55:37.453321665 +0200
***************
*** 486,491 ****
--- 486,495 ----
call term_sendkeys(buf, ":call popup_move(winidb, {'pos': 'topright',
'col': 12})\<CR>")
call VerifyScreenDump(buf, 'Test_popupwin_mask_4', {})
+ call term_sendkeys(buf, ":call popup_move(winid, {'pos': 'topright', 'col':
12, 'line': 11})\<CR>")
+ call term_sendkeys(buf, ":call popup_move(winidb, {'pos': 'topleft', 'col':
42, 'line': 11})\<CR>")
+ call VerifyScreenDump(buf, 'Test_popupwin_mask_5', {})
+
" clean up
call StopVimInTerminal(buf)
call delete('XtestPopupMask')
*** ../vim-8.1.1664/src/testdir/dumps/Test_popupwin_mask_5.dump 2019-07-12
16:05:11.266641091 +0200
--- src/testdir/dumps/Test_popupwin_mask_5.dump 2019-07-12 15:55:47.561272630
+0200
***************
*** 0 ****
--- 1,13 ----
+
>1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|x+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|y+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+ |
+0&#e0e0e08@11|1+0&#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|═+0#0000001#ffd7ff255@13|X|4+0#0000000#ffffff0|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+ |o+0&#e0e0e08|m|e| |5+0&#ffffff0|6|7|t+0&#e0e0e08|
@3|1+0&#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|║+0#0000001#ffd7ff255|
@4|2+0#0000000#ffffff0|9|3|
+0#0000001#ffd7ff255@6|║|4+0#0000000#ffffff0|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+ |:|c|t+0&#e0e0e08|h|l+0&#ffffff0| |p|l+0&#e0e0e08|i|n|e|
|m+0&#ffffff0|o|v|e|(|w|i|n|i|d|b|,| |{|'|p|o|s|'|:|
|'|t|o|p|l|e|f|t|║+0#0000001#ffd7ff255|
|j|u|s|t|l+0#0000000#ffffff0|'|:|e+0#0000001#ffd7ff255| |l|i|n|e|
|║|,+0#0000000#ffffff0|1| @10|T|o|p|
*** ../vim-8.1.1664/src/version.c 2019-07-12 15:37:09.250799642 +0200
--- src/version.c 2019-07-12 16:04:10.994915602 +0200
***************
*** 779,780 ****
--- 779,782 ----
{ /* Add new patch number below this line */
+ /**/
+ 1665,
/**/
--
If your life is a hard drive,
Christ can be your backup.
/// 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/201907121406.x6CE6ew3017739%40masaka.moolenaar.net.
For more options, visit https://groups.google.com/d/optout.