Mercurial > vim
changeset 18438:144fa40ee706 v8.1.2213
patch 8.1.2213: popup_textprop tests fail
Commit: https://github.com/vim/vim/commit/aa1f04d09286085c4031bc7c4ca9fa672f6f4905
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Oct 24 22:12:54 2019 +0200
patch 8.1.2213: popup_textprop tests fail
Problem: Popup_textprop tests fail.
Solution: Adjust the column and line positioning.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 24 Oct 2019 22:15:03 +0200 |
parents | f246fac8243c |
children | 1768dfc3a9f6 |
files | src/popupwin.c src/version.c |
diffstat | 2 files changed, 17 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/src/popupwin.c +++ b/src/popupwin.c @@ -1082,7 +1082,6 @@ popup_adjust_position(win_T *wp) int org_leftoff = wp->w_popup_leftoff; int minwidth; int wantline = wp->w_wantline; // adjusted for textprop - int use_wantline = wantline != 0; int wantcol = wp->w_wantcol; // adjusted for textprop int use_wantcol = wantcol != 0; @@ -1097,15 +1096,6 @@ popup_adjust_position(win_T *wp) if (wp->w_popup_last_curline != wp->w_cursor.lnum) popup_highlight_curline(wp); - // If no line was specified default to vertical centering. - if (wantline == 0) - center_vert = TRUE; - else if (wantline < 0) - // If "wantline" is negative it actually means zero. - wantline = 0; - if (wantcol < 0) - wantcol = 0; - if (wp->w_popup_prop_type > 0 && win_valid(wp->w_popup_prop_win)) { win_T *prop_win = wp->w_popup_prop_win; @@ -1159,6 +1149,19 @@ popup_adjust_position(win_T *wp) else // left of the text wantcol = screen_scol + wantcol - 2; + use_wantcol = TRUE; + } + else + { + // If no line was specified default to vertical centering. + if (wantline == 0) + center_vert = TRUE; + else if (wantline < 0) + // If "wantline" is negative it actually means zero. + wantline = 0; + if (wantcol < 0) + // If "wantcol" is negative it actually means zero. + wantcol = 0; } if (wp->w_popup_pos == POPPOS_CENTER) @@ -1169,8 +1172,8 @@ popup_adjust_position(win_T *wp) } else { - if (use_wantline && (wp->w_popup_pos == POPPOS_TOPLEFT - || wp->w_popup_pos == POPPOS_TOPRIGHT)) + if (wantline > 0 && (wp->w_popup_pos == POPPOS_TOPLEFT + || wp->w_popup_pos == POPPOS_TOPRIGHT)) { wp->w_winrow = wantline - 1; if (wp->w_winrow >= Rows)