patch 8.2.2464: using freed memory if window closed in autocommand

Problem:    Using freed memory if window closed in autocommand. (houyunsong)
Solution:   Check the window still exists.
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index b678f66..b6e1cbf 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -2768,7 +2768,9 @@
 		did_decrement = close_buffer(oldwin, curbuf,
 			 (flags & ECMD_HIDE) ? 0 : DOBUF_UNLOAD, FALSE, FALSE);
 
-		the_curwin->w_closing = FALSE;
+		// Autocommands may have closed the window.
+		if (win_valid(the_curwin))
+		    the_curwin->w_closing = FALSE;
 		--buf->b_locked;
 
 #ifdef FEAT_EVAL