diff src/popupmnu.c @ 10410:783a75eca83a v8.0.0099

commit https://github.com/vim/vim/commit/73095288da839f7c738a49baa109773e76106806 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Nov 24 17:47:07 2016 +0100 patch 8.0.0099 Problem: Popup menu always appears above the cursor when it is in the lower half of the screen. (Matt Gardner) Solution: Compute the available space better. (Hirohito Higashi, closes #1241)
author Christian Brabandt <cb@256bit.org>
date Thu, 24 Nov 2016 18:00:05 +0100
parents 4d98f501d1c5
children 778c10516955
line wrap: on
line diff
--- a/src/popupmnu.c
+++ b/src/popupmnu.c
@@ -105,7 +105,8 @@ redo:
 
     /* Put the pum below "row" if possible.  If there are few lines decide on
      * where there is more room. */
-    if (row - above_row >= below_row - row)
+    if (row + 2 >= below_row - pum_height
+			    && row - above_row > (below_row - above_row) / 2)
     {
 	/* pum above "row" */