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)
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2213,
+/**/
     2212,
 /**/
     2211,