> 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

Reply via email to