> my repro step:
> 1. run gvim
> 2. open NERDTree windows
> 3. create several tabs using 't' shortcut of NERDTree plugin
> 4. '1gt'
> 5, maximize gvim
> 6, '2gt'
> 7, restore the windows size from maximize window to normal window.
> 8, '1gt'
>
> Result: after 8th step, my gvim will crash definitely.
My take on this problem (apply autocommands only once window sizes
have been adjusted):
diff -r b3ccae22bae7 src/window.c
--- a/src/window.c Wed Mar 07 22:55:21 2012 +0100
+++ b/src/window.c Mon Mar 12 21:57:24 2012 +0400
@@ -3676,13 +3676,6 @@
win_enter_ext(tp->tp_curwin, FALSE, TRUE);
prevwin = next_prevwin;
-#ifdef FEAT_AUTOCMD
- apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
-
- if (old_curbuf != curbuf)
- apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
-#endif
-
last_status(FALSE); /* status line may appear or disappear
*/
(void)win_comp_pos(); /* recompute w_winrow for all windows */
must_redraw = CLEAR; /* need to redraw everything */
@@ -3712,6 +3705,13 @@
gui_may_update_scrollbars();
#endif
+#ifdef FEAT_AUTOCMD
+ apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
+
+ if (old_curbuf != curbuf)
+ apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
+#endif
+
redraw_all_later(CLEAR);
}
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php