diff options
-rw-r--r-- | src/nvim/mouse.c | 3 | ||||
-rw-r--r-- | test/functional/ui/statuscolumn_spec.lua | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/nvim/mouse.c b/src/nvim/mouse.c index f393b0fd0f..bd245bdca3 100644 --- a/src/nvim/mouse.c +++ b/src/nvim/mouse.c @@ -688,6 +688,9 @@ popupexit: if (in_statuscol && wp->w_p_rl) { click_col = wp->w_width_inner - click_col - 1; } + if (in_statuscol && click_col >= (int)wp->w_statuscol_click_defs_size) { + return false; + } if (click_defs != NULL) { switch (click_defs[click_col].type) { diff --git a/test/functional/ui/statuscolumn_spec.lua b/test/functional/ui/statuscolumn_spec.lua index c388d347e2..7ee7f38d07 100644 --- a/test/functional/ui/statuscolumn_spec.lua +++ b/test/functional/ui/statuscolumn_spec.lua @@ -91,6 +91,10 @@ describe('statuscolumn', function() {8:2 }aaaaa | | ]]) + -- Doesn't crash when clicking inside padded area without click_defs + command('set numberwidth=10') + api.nvim_input_mouse('left', 'press', '', 0, 0, 5) + assert_alive() end) it("works with 'number' and 'relativenumber'", function() |