diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2021-09-09 17:37:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-09 17:37:59 +0200 |
commit | 422198cde69ffc857fd459ffd662b640a680cc48 (patch) | |
tree | 40ee036148bae97b9eb4c240f23b41329de597c5 /src | |
parent | d8339be6915b3640f12a1827cee652b604b1a0d7 (diff) | |
parent | 28ac6c00e6f61d40f082af3ae3db380d7951acee (diff) | |
download | rneovim-422198cde69ffc857fd459ffd662b640a680cc48.tar.gz rneovim-422198cde69ffc857fd459ffd662b640a680cc48.tar.bz2 rneovim-422198cde69ffc857fd459ffd662b640a680cc48.zip |
Merge pull request #15091 from yatli/mouse_drag_fix
fix #15075 (mouse crash in multigrid)
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/mouse.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/nvim/mouse.c b/src/nvim/mouse.c index 6c25525936..c599f4ea97 100644 --- a/src/nvim/mouse.c +++ b/src/nvim/mouse.c @@ -723,14 +723,20 @@ int mouse_check_fold(void) int click_row = mouse_row; int click_col = mouse_col; int mouse_char = ' '; + int max_row = Rows; + int max_col = Columns; + int multigrid = ui_has(kUIMultigrid); win_T *wp; wp = mouse_find_win(&click_grid, &click_row, &click_col); + if (wp && multigrid) { + max_row = wp->w_grid_alloc.Rows; + max_col = wp->w_grid_alloc.Columns; + } - if (wp && mouse_row >= 0 && mouse_row < Rows - && mouse_col >= 0 && mouse_col <= Columns) { - int multigrid = ui_has(kUIMultigrid); + if (wp && mouse_row >= 0 && mouse_row < max_row + && mouse_col >= 0 && mouse_col < max_col) { ScreenGrid *gp = multigrid ? &wp->w_grid_alloc : &default_grid; int fdc = win_fdccol_count(wp); int row = multigrid && mouse_grid == 0 ? click_row : mouse_row; |