Mercurial > vim
diff src/popupwin.c @ 17578:696030820746 v8.1.1786
patch 8.1.1786: double click in popup scrollbar starts selection
commit https://github.com/vim/vim/commit/13b11eddcaf5176fb1127c8bc8f4b4f46bd05488
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Aug 1 15:52:45 2019 +0200
patch 8.1.1786: double click in popup scrollbar starts selection
Problem: Double click in popup scrollbar starts selection.
Solution: Ignore the double click.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 01 Aug 2019 16:00:07 +0200 |
parents | cc2c4179427c |
children | d5e5d0fc3fa8 |
line wrap: on
line diff
--- a/src/popupwin.c +++ b/src/popupwin.c @@ -305,6 +305,19 @@ popup_set_firstline(win_T *wp) } /* + * Return TRUE if the position is in the popup window scrollbar. + */ + int +popup_is_in_scrollbar(win_T *wp, int row, int col) +{ + return wp->w_has_scrollbar + && row >= wp->w_popup_border[0] + && row < popup_height(wp) - wp->w_popup_border[2] + && col == popup_width(wp) - wp->w_popup_border[1] - 1; +} + + +/* * Handle a click in a popup window, if it is in the scrollbar. */ void @@ -313,11 +326,7 @@ popup_handle_scrollbar_click(win_T *wp, int height = popup_height(wp); int old_topline = wp->w_topline; - if (wp->w_has_scrollbar == 0) - return; - if (row >= wp->w_popup_border[0] - && row < height - wp->w_popup_border[2] - && col == popup_width(wp) - wp->w_popup_border[1] - 1) + if (popup_is_in_scrollbar(wp, row, col)) { if (row >= height / 2) {