diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2021-09-27 14:03:18 +0200 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2021-10-04 21:00:42 +0200 |
commit | 810da1a7023ec87e3fa644499a655740c01baaf7 (patch) | |
tree | f4beea513ffd5672889b3ec3b6511142169f4d81 /src | |
parent | 3beea1fe1bca5b0cf3f724ab0d06a01a04652297 (diff) | |
download | rneovim-810da1a7023ec87e3fa644499a655740c01baaf7.tar.gz rneovim-810da1a7023ec87e3fa644499a655740c01baaf7.tar.bz2 rneovim-810da1a7023ec87e3fa644499a655740c01baaf7.zip |
fix(mouse): correct dragged position in composed layout
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/mouse.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/nvim/mouse.c b/src/nvim/mouse.c index cf463fd40a..cd9f5fc83e 100644 --- a/src/nvim/mouse.c +++ b/src/nvim/mouse.c @@ -236,6 +236,11 @@ retnomove: redraw_curbuf_later(INVERTED); // delete the inversion } + if (grid == 0) { + row -= curwin->w_grid_alloc.comp_row+curwin->w_grid.row_offset; + col -= curwin->w_grid_alloc.comp_col+curwin->w_grid.col_offset; + } + // When clicking beyond the end of the window, scroll the screen. // Scroll by however many rows outside the window we are. if (row < 0) { @@ -476,7 +481,7 @@ win_T *mouse_find_win(int *gridp, int *rowp, int *colp) static win_T *mouse_find_grid_win(int *gridp, int *rowp, int *colp) { if (*gridp == msg_grid.handle) { - // rowp += msg_grid_pos; // PVS: dead store #11612 + *rowp += msg_grid_pos; *gridp = DEFAULT_GRID_HANDLE; } else if (*gridp > 1) { win_T *wp = get_win_by_grid_handle(*gridp); |