changeset 14685:17a7d9e71ebb v8.1.0355

patch 8.1.0355: incorrect adjusting the popup menu for the preview window commit https://github.com/vim/vim/commit/a750ac2288eae4f751185597885552e9b6e4d27c Author: Bram Moolenaar <Bram@vim.org> Date: Sun Sep 9 15:27:59 2018 +0200 patch 8.1.0355: incorrect adjusting the popup menu for the preview window Problem: Incorrect adjusting the popup menu for the preview window. Solution: Compute position and height properl. (Ronan Pigott) Also show at least ten items. (closes #3414)
author Christian Brabandt <cb@256bit.org>
date Sun, 09 Sep 2018 15:30:06 +0200
parents 6a6944f44cc8
children 712062d04112
files src/popupmnu.c src/version.c
diffstat 2 files changed, 17 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/popupmnu.c
+++ b/src/popupmnu.c
@@ -141,8 +141,8 @@ pum_display(
 	if (p_ph > 0 && pum_height > p_ph)
 	    pum_height = p_ph;
 
-	/* Put the pum below "pum_win_row" if possible.  If there are few lines decide
-	 * on where there is more room. */
+	/* Put the pum below "pum_win_row" if possible.  If there are few lines
+	 * decide on where there is more room. */
 	if (pum_win_row + 2 >= below_row - pum_height
 		      && pum_win_row - above_row > (below_row - above_row) / 2)
 	{
@@ -196,11 +196,20 @@ pum_display(
 	    return;
 
 #if defined(FEAT_QUICKFIX)
-	/* If there is a preview window at the above avoid drawing over it. */
-	if (pvwin != NULL && pum_row < above_row && pum_height > above_row)
+	// If there is a preview window at the above avoid drawing over it.
+	// Do keep at least 10 entries.
+	if (pvwin != NULL && pum_row < above_row && pum_height > 10)
 	{
-	    pum_row += above_row;
-	    pum_height -= above_row;
+	    if (pum_win_row - above_row < 10)
+	    {
+		pum_row = pum_win_row - 10;
+		pum_height = 10;
+	    }
+	    else
+	    {
+		pum_row = above_row;
+		pum_height = pum_win_row - above_row;
+	    }
 	}
 #endif
 
--- a/src/version.c
+++ b/src/version.c
@@ -795,6 +795,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    355,
+/**/
     354,
 /**/
     353,