From ee79cbc7afdc87a185542c0a7ef6d4fd4e5271dd Mon Sep 17 00:00:00 2001
From: Bram Moolenaar <Bram@vim.org>
Date: Wed, 2 May 2007 19:50:14 +0000
Subject: [PATCH] updated for version 7.0-240

---
 src/version.c |  2 ++
 src/window.c  | 26 +++++++++++++++++++++++++-
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/src/version.c b/src/version.c
index 358d4b5a56..66893a20c2 100644
--- a/src/version.c
+++ b/src/version.c
@@ -666,6 +666,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    240,
 /**/
     239,
 /**/
diff --git a/src/window.c b/src/window.c
index 28b9660b84..0ee1ad40ac 100644
--- a/src/window.c
+++ b/src/window.c
@@ -722,6 +722,12 @@ win_split_ins(size, flags, newwin, dir)
 	need_status = STATUS_HEIGHT;
     }
 
+#ifdef FEAT_GUI
+    /* May be needed for the scrollbars that are going to change. */
+    if (gui.in_use)
+	out_flush();
+#endif
+
 #ifdef FEAT_VERTSPLIT
     if (flags & WSP_VERT)
     {
@@ -4071,6 +4077,12 @@ win_alloc(after)
 
     if (newwin != NULL)
     {
+#ifdef FEAT_AUTOCMD
+	/* Don't execute autocommands while the window is not properly
+	 * initialized yet.  gui_create_scrollbar() may trigger a FocusGained
+	 * event. */
+	++autocmd_block;
+#endif
 	/*
 	 * link the window in the window list
 	 */
@@ -4100,7 +4112,6 @@ win_alloc(after)
 #ifdef FEAT_GUI
 	if (gui.in_use)
 	{
-	    out_flush();
 	    gui_create_scrollbar(&newwin->w_scrollbars[SBAR_LEFT],
 		    SBAR_LEFT, newwin);
 	    gui_create_scrollbar(&newwin->w_scrollbars[SBAR_RIGHT],
@@ -4113,6 +4124,9 @@ win_alloc(after)
 #endif
 #ifdef FEAT_FOLDING
 	foldInitWin(newwin);
+#endif
+#ifdef FEAT_AUTOCMD
+	--autocmd_block;
 #endif
     }
     return newwin;
@@ -4130,6 +4144,12 @@ win_free(wp, tp)
 {
     int		i;
 
+#ifdef FEAT_AUTOCMD
+    /* Don't execute autocommands while the window is halfway being deleted.
+     * gui_mch_destroy_scrollbar() may trigger a FocusGained event. */
+    ++autocmd_block;
+#endif
+
 #ifdef FEAT_MZSCHEME
     mzscheme_window_free(wp);
 #endif
@@ -4188,6 +4208,10 @@ win_free(wp, tp)
 
     win_remove(wp, tp);
     vim_free(wp);
+
+#ifdef FEAT_AUTOCMD
+    --autocmd_block;
+#endif
 }
 
 /*
-- 
GitLab