updated for version 7.4.007
Problem: Creating a preview window on startup leaves the screen layout in a
messed up state. (Marius Gedminas)
Solution: Don't change firstwin. (Christian Brabandt)
diff --git a/src/main.c b/src/main.c
index 884a308..7d01a23 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2727,6 +2727,7 @@
int arg_idx; /* index in argument list */
int i;
int advance = TRUE;
+ win_T *win;
# ifdef FEAT_AUTOCMD
/*
@@ -2816,24 +2817,22 @@
# ifdef FEAT_AUTOCMD
--autocmd_no_enter;
# endif
-#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
- /*
- * Avoid making a preview window the current window.
- */
- if (firstwin->w_p_pvw)
- {
- win_T *win;
- for (win = firstwin; win != NULL; win = win->w_next)
- if (!win->w_p_pvw)
- {
- firstwin = win;
- break;
- }
+ /* make the first window the current window */
+ win = firstwin;
+#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
+ /* Avoid making a preview window the current window. */
+ while (win->w_p_pvw)
+ {
+ win = win->w_next;
+ if (win == NULL)
+ {
+ win = firstwin;
+ break;
+ }
}
#endif
- /* make the first window the current window */
- win_enter(firstwin, FALSE);
+ win_enter(win, FALSE);
# ifdef FEAT_AUTOCMD
--autocmd_no_leave;