From: Bram Moolenaar Date: Tue, 21 Apr 2015 13:43:05 +0000 (+0200) Subject: patch 7.4.706 X-Git-Tag: v7.4.706 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5b14f89164fa2f40f52283226c98005887568317;p=vim 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) --- diff --git a/src/version.c b/src/version.c index 0b2d6fe1a..b6676b762 100644 --- a/src/version.c +++ b/src/version.c @@ -741,6 +741,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 706, /**/ 705, /**/ diff --git a/src/window.c b/src/window.c index eb218d560..952143003 100644 --- 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))