multigrid: Fix sending window grid handle in ext_newline mode

This commit is contained in:
Utkarsh Maheshwari 2018-09-04 02:45:29 +05:30 committed by Björn Linse
parent 16c3337122
commit 62be9f39ef
2 changed files with 11 additions and 11 deletions

View File

@ -1579,8 +1579,6 @@ static void win_update(win_T *wp)
}
}
wp->w_grid.was_resized = false;
/* restore got_int, unless CTRL-C was hit while redrawing */
if (!got_int)
got_int = save_got_int;
@ -5976,6 +5974,7 @@ void win_grid_alloc(win_T *wp, int doclear)
ScreenGrid *grid = &wp->w_grid;
int rows = grid->internal_rows;
int columns = grid->internal_columns;
int was_resized = false;
if (rows == 0) {
rows = wp->w_height;
@ -6002,7 +6001,7 @@ void win_grid_alloc(win_T *wp, int doclear)
grid->Rows = rows;
grid->Columns = columns;
}
grid->was_resized = true;
was_resized = true;
}
grid->OffsetRow = wp->w_winrow;
@ -6012,8 +6011,7 @@ void win_grid_alloc(win_T *wp, int doclear)
// - a grid was just resized
// - screen_resize was called and all grid sizes must be sent
// - the UI wants multigrid event (necessary)
if ((send_grid_resize || grid->was_resized)
&& ui_is_external(kUIMultigrid)) {
if ((send_grid_resize || was_resized) && ui_is_external(kUIMultigrid)) {
ui_call_grid_resize(grid->handle, grid->Columns, grid->Rows);
}
}

View File

@ -347,15 +347,17 @@ void ui_cursor_goto(int new_row, int new_col)
void ui_grid_cursor_goto(ScreenGrid *grid, int new_row, int new_col)
{
int off_row = (ui_is_external(kUIMultigrid) ? 0 : grid->OffsetRow);
int off_col = (ui_is_external(kUIMultigrid) ? 0 : grid->OffsetColumn);
new_row += ui_is_external(kUIMultigrid) ? 0 : grid->OffsetRow;
new_col += ui_is_external(kUIMultigrid) ? 0 : grid->OffsetColumn;
int handle = ui_is_external(kUIMultigrid) ? grid->handle : DEFAULT_GRID_HANDLE;
if (new_row + off_row == row && new_col + off_col == col) {
if (new_row == row && new_col == col && handle == cursor_grid_handle) {
return;
}
row = new_row + off_row;
col = new_col + off_col;
cursor_grid_handle = grid->handle;
row = new_row;
col = new_col;
cursor_grid_handle = handle;
pending_cursor_update = true;
}