> 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