diff options
-rw-r--r-- | src/nvim/mouse.c | 2 | ||||
-rw-r--r-- | test/functional/ui/statuscolumn_spec.lua | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/nvim/mouse.c b/src/nvim/mouse.c index ee8c553cd5..a87143fe12 100644 --- a/src/nvim/mouse.c +++ b/src/nvim/mouse.c @@ -1110,7 +1110,7 @@ retnomove: ? wp->w_winbar_height != 0 : false; - on_statuscol = (grid == (col < win_col_off(wp))) + on_statuscol = !on_status_line && !on_winbar && col < win_col_off(wp) ? *wp->w_p_stc != NUL : false; diff --git a/test/functional/ui/statuscolumn_spec.lua b/test/functional/ui/statuscolumn_spec.lua index 2905f1d64c..74e6d61ff3 100644 --- a/test/functional/ui/statuscolumn_spec.lua +++ b/test/functional/ui/statuscolumn_spec.lua @@ -366,6 +366,14 @@ describe('statuscolumn', function() eq('0 3 r 7', eval("g:testvar")) meths.input_mouse('right', 'press', '', 0, 3, 0) eq('0 4 r 7', eval("g:testvar")) + command('set laststatus=2 winbar=%f') + command('let g:testvar=""') + -- Check that winbar click doesn't register as statuscolumn click + meths.input_mouse('right', 'press', '', 0, 0, 0) + eq('', eval("g:testvar")) + -- Check that statusline click doesn't register as statuscolumn click + meths.input_mouse('right', 'press', '', 0, 12, 0) + eq('', eval("g:testvar")) end) it('fits maximum multibyte foldcolumn #21759', function() |