diff options
author | Utkarsh Maheshwari <utkarshme96@gmail.com> | 2018-09-13 14:17:13 +0530 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2018-12-31 12:44:22 +0100 |
commit | f241930472a58aae69932aa43408a4a974f02278 (patch) | |
tree | 7eadb1e299be4356cac6e69320cf062e11249103 /src | |
parent | 62be9f39ef9cd8592ac0048ba2840aa65cbc1849 (diff) | |
download | rneovim-f241930472a58aae69932aa43408a4a974f02278.tar.gz rneovim-f241930472a58aae69932aa43408a4a974f02278.tar.bz2 rneovim-f241930472a58aae69932aa43408a4a974f02278.zip |
multigrid: Fix rebase errors in screen.c
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/screen.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c index 945879cd21..d4127b0b02 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -1427,10 +1427,7 @@ static void win_update(win_T *wp) wp->w_lines[idx].wl_lnum = lnum; wp->w_lines[idx].wl_valid = true; - // Past end of the window or end of the screen. Note that after - // resizing wp->w_height may be end up too big. That's a problem - // elsewhere, but prevent a crash here. - if (row > wp->w_grid.Rows || row + wp->w_winrow >= Rows) { + if (row > wp->w_grid.Rows) { // past end of grid // we may need the size of that too long line later on if (dollar_vcol == -1) { wp->w_lines[idx].wl_size = plines_win(wp, lnum, true); @@ -2909,7 +2906,7 @@ win_line ( if (wp->w_p_cuc) { row = wp->w_cline_row + wp->w_cline_height; } else { - row = wp->w_grid.Rows; + row = grid->Rows; } break; } @@ -4246,11 +4243,21 @@ win_line ( grid_put_linebuf(grid, row, 0, col - boguscols, grid->Columns, wp->w_p_rl, wp, wp->w_hl_attr_normal, wrap); if (wrap) { + ScreenGrid *current_grid = grid; + int current_row = row; + + // if we're not in ext_multigrid mode, grid has not been allocated; keep + // working on the default_grid. + if (!ui_is_external(kUIMultigrid)) { + current_row += grid->OffsetRow; + current_grid = &default_grid; + } + // Force a redraw of the first column of the next line. - grid->ScreenAttrs[grid->LineOffset[row + 1]] = -1; + current_grid->ScreenAttrs[current_grid->LineOffset[current_row+1]] = -1; // Remember that the line wraps, used for modeless copy. - grid->LineWraps[row] = true; + current_grid->LineWraps[current_row] = true; } boguscols = 0; |