updated for version 7.3.588
Problem:    Crash on NULL pointer.
Solution:   Fix the immediate problem by checking for NULL. (Lech Lorens)
diff --git a/src/version.c b/src/version.c
index 1314e41..2676fa7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    588,
+/**/
     587,
 /**/
     586,
diff --git a/src/window.c b/src/window.c
index cf45e90..c65f49d 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2184,7 +2184,7 @@
     }
 
 #ifdef FEAT_AUTOCMD
-    if (win->w_closing || win->w_buffer->b_closing)
+    if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing))
 	return; /* window is already being closed */
     if (win == aucmd_win)
     {
@@ -3723,7 +3723,7 @@
 enter_tabpage(tp, old_curbuf, trigger_autocmds)
     tabpage_T	*tp;
     buf_T	*old_curbuf UNUSED;
-    int         trigger_autocmds UNUSED;
+    int		trigger_autocmds UNUSED;
 {
     int		old_off = tp->tp_firstwin->w_winrow;
     win_T	*next_prevwin = tp->tp_prevwin;
@@ -3868,7 +3868,7 @@
     void
 goto_tabpage_tp(tp, trigger_autocmds)
     tabpage_T	*tp;
-    int         trigger_autocmds;
+    int		trigger_autocmds;
 {
     /* Don't repeat a message in another tab page. */
     set_keep_msg(NULL, 0);