comparison src/popupwin.c @ 19605:5ad7a406647a v8.2.0359

patch 8.2.0359: popup_atcursor() may hang Commit: https://github.com/vim/vim/commit/ba2920fe976b37326933afa820616523b509495f Author: Bram Moolenaar <Bram@vim.org> Date: Fri Mar 6 21:43:17 2020 +0100 patch 8.2.0359: popup_atcursor() may hang Problem: popup_atcursor() may hang. (Yasuhiro Matsumoto) Solution: Take the decoration into account. (closes https://github.com/vim/vim/issues/5728)
author Bram Moolenaar <Bram@vim.org>
date Fri, 06 Mar 2020 21:45:03 +0100
parents 71d0c4f5fcd9
children 804322d6c6ba
comparison
equal deleted inserted replaced
19604:5ca07850fef0 19605:5ad7a406647a
1230 center_hor = TRUE; 1230 center_hor = TRUE;
1231 else if (wantcol > 0 && (wp->w_popup_pos == POPPOS_TOPLEFT 1231 else if (wantcol > 0 && (wp->w_popup_pos == POPPOS_TOPLEFT
1232 || wp->w_popup_pos == POPPOS_BOTLEFT)) 1232 || wp->w_popup_pos == POPPOS_BOTLEFT))
1233 { 1233 {
1234 wp->w_wincol = wantcol - 1; 1234 wp->w_wincol = wantcol - 1;
1235 if (wp->w_wincol >= Columns - 1) 1235 // Need to see at least one character after the decoration.
1236 wp->w_wincol = Columns - 1; 1236 if (wp->w_wincol > Columns - left_extra - 1)
1237 wp->w_wincol = Columns - left_extra - 1;
1237 } 1238 }
1238 } 1239 }
1239 1240
1240 // When centering or right aligned, use maximum width. 1241 // When centering or right aligned, use maximum width.
1241 // When left aligned use the space available, but shift to the left when we 1242 // When left aligned use the space available, but shift to the left when we