patch 8.2.4438: crash on exit when using cmdline window

Problem:    Crash on exit when using cmdline window.
Solution:   Reset "cmdwin_type" before exiting. (closes #9817)
diff --git a/src/testdir/test_exit.vim b/src/testdir/test_exit.vim
index 93b8f51..b42eebf 100644
--- a/src/testdir/test_exit.vim
+++ b/src/testdir/test_exit.vim
@@ -1,6 +1,7 @@
 " Tests for exiting Vim.
 
 source shared.vim
+source check.vim
 
 func Test_exiting()
   let after =<< trim [CODE]
@@ -109,4 +110,17 @@
   call delete('Xtestout')
 endfunc
 
+func Test_exit_error_reading_input()
+  CheckNotGui
+
+  call writefile([":au VimLeave * call writefile(['l = ' .. v:exiting], 'Xtestout')", ":tabnew\<CR>q:"], 'Xscript')
+
+  if RunVim([], [], '< Xscript')
+    call assert_equal(['l = 1'], readfile('Xtestout'))
+  endif
+  call delete('Xscript')
+  call delete('Xtestout')
+endfun
+
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/ui.c b/src/ui.c
index a6cee80..bf6ea85 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -1065,6 +1065,9 @@
     if (silent_mode)	// Normal way to exit for "ex -s"
 	getout(0);
     STRCPY(IObuff, _("Vim: Error reading input, exiting...\n"));
+#ifdef FEAT_CMDWIN
+    cmdwin_type = 0;
+#endif
     preserve_exit();
 }
 
diff --git a/src/version.c b/src/version.c
index 7001029..399aef9 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4438,
+/**/
     4437,
 /**/
     4436,