changeset 6769:fbcf54fc3a77 v7.4.706

patch 7.4.706 Problem: Window drawn wrong when 'laststatus' is zero and there is a command-line window. (Yclept Nemo) Solution: Set the status height a bit later. (Christian Brabandt)
author Bram Moolenaar <bram@vim.org>
date Tue, 21 Apr 2015 15:43:05 +0200
parents 52d9d3e70fdb
children 81df4c7d2bc2
files src/version.c src/window.c
diffstat 2 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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 */
 /**/
+    706,
+/**/
     705,
 /**/
     704,
--- a/src/window.c
+++ b/src/window.c
@@ -1236,7 +1236,8 @@ win_split_ins(size, flags, new_wp, dir)
 	{
 	    wp->w_winrow = oldwin->w_winrow + oldwin->w_height + STATUS_HEIGHT;
 	    wp->w_status_height = oldwin->w_status_height;
-	    oldwin->w_status_height = STATUS_HEIGHT;
+	    /* Don't set the status_height for oldwin yet, this might break
+	     * frame_fix_height(oldwin), therefore will be set below. */
 	}
 #ifdef FEAT_VERTSPLIT
 	if (flags & WSP_BOT)
@@ -1244,6 +1245,11 @@ win_split_ins(size, flags, new_wp, dir)
 #endif
 	frame_fix_height(wp);
 	frame_fix_height(oldwin);
+
+	if (!before)
+	    /* new window above current one, set the status_height after
+	     * frame_fix_height(oldwin) */
+	    oldwin->w_status_height = STATUS_HEIGHT;
     }
 
     if (flags & (WSP_TOP | WSP_BOT))