mirror of
https://github.com/neovim/neovim.git
synced 2025-09-23 03:28:33 +00:00
vim-patch:8.2.3391: crash with combination of 'linebreak' and other options
Problem: Crash with combination of 'linebreak' and other options.
Solution: Avoid n_extra to become negative. (Christian Brabandt,
closes vim/vim#8817)
20e0c3d27b
This commit is contained in:
@@ -3556,9 +3556,12 @@ static int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, bool noc
|
|||||||
n_extra = win_lbr_chartabsize(wp, line, p, (colnr_T)vcol, NULL) - 1;
|
n_extra = win_lbr_chartabsize(wp, line, p, (colnr_T)vcol, NULL) - 1;
|
||||||
|
|
||||||
// We have just drawn the showbreak value, no need to add
|
// We have just drawn the showbreak value, no need to add
|
||||||
// space for it again
|
// space for it again.
|
||||||
if (vcol == vcol_sbr) {
|
if (vcol == vcol_sbr) {
|
||||||
n_extra -= MB_CHARLEN(get_showbreak_value(wp));
|
n_extra -= MB_CHARLEN(get_showbreak_value(wp));
|
||||||
|
if (n_extra < 0) {
|
||||||
|
n_extra = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (c == TAB && n_extra + col > grid->Columns) {
|
if (c == TAB && n_extra + col > grid->Columns) {
|
||||||
|
Reference in New Issue
Block a user