patch 9.0.0469: cursor moves if cmdwin is closed when 'splitscroll' is off

Problem:    Cursor moves if cmdwin is closed when 'splitscroll' is off.
Solution:   Skip win_fix_cursor if called when cmdwin is open or closing.
            (Luuk van Baal, closes #11134)
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 4a5ac31..70436b3 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -4405,7 +4405,6 @@
     int			save_restart_edit = restart_edit;
     int			save_State = State;
     int			save_exmode = exmode_active;
-    int			save_p_spsc;
 #ifdef FEAT_RIGHTLEFT
     int			save_cmdmsg_rl = cmdmsg_rl;
 #endif
@@ -4645,10 +4644,8 @@
 	wp = curwin;
 	set_bufref(&bufref, curbuf);
 
-	save_p_spsc = p_spsc;
-	p_spsc = TRUE;
+	skip_win_fix_cursor = TRUE;
 	win_goto(old_curwin);
-	p_spsc = save_p_spsc;
 
 	// win_goto() may trigger an autocommand that already closes the
 	// cmdline window.
@@ -4662,6 +4659,7 @@
 
 	// Restore window sizes.
 	win_size_restore(&winsizes);
+	skip_win_fix_cursor = FALSE;
     }
 
     ga_clear(&winsizes);
diff --git a/src/globals.h b/src/globals.h
index 5218324..568d3b3 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1737,3 +1737,8 @@
 // While executing a regexp and set to OPTION_MAGIC_ON or OPTION_MAGIC_OFF this
 // overrules p_magic.  Otherwise set to OPTION_MAGIC_NOT_SET.
 EXTERN optmagic_T magic_overruled INIT(= OPTION_MAGIC_NOT_SET);
+
+#ifdef FEAT_CMDWIN
+// Skip win_fix_cursor() call for 'nosplitscroll' when cmdwin is closed.
+EXTERN int skip_win_fix_cursor INIT(= FALSE);
+#endif
diff --git a/src/version.c b/src/version.c
index 82a21df..8b4efd7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    469,
+/**/
     468,
 /**/
     467,
diff --git a/src/window.c b/src/window.c
index 6fefcac..fc7b8df 100644
--- a/src/window.c
+++ b/src/window.c
@@ -6410,6 +6410,10 @@
 
     if (wp->w_buffer->b_ml.ml_line_count < wp->w_height)
 	return;
+#ifdef FEAT_CMDWIN
+    if (skip_win_fix_cursor)
+	return;
+#endif
 
     so = MIN(wp->w_height / 2, so);
     // Check if cursor position is above topline or below botline.