| To: vim_dev@googlegroups.com |
| Subject: Patch 7.3.472 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.3.472 |
| Problem: Crash when using ":redraw" in a BufEnter autocommand and |
| switching to another tab. (驼峰) |
| Solution: Move triggering the the autocommands to after correcting the |
| option values. Also check the row value to be out of bounds. |
| (Christian Brabandt, Sergey Khorev) |
| Files: src/screen.c, src/window.c |
| |
| |
| |
| |
| |
| *** 5371,5376 **** |
| --- 5371,5382 ---- |
| # define CHAR_CELLS 1 |
| #endif |
| |
| + /* Check for illegal row and col, just in case. */ |
| + if (row >= Rows) |
| + row = Rows - 1; |
| + if (endcol > Columns) |
| + endcol = Columns; |
| + |
| # ifdef FEAT_CLIPBOARD |
| clip_may_clear_selection(row, row); |
| # endif |
| |
| |
| |
| *** 3676,3688 **** |
| 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 */ |
| --- 3676,3681 ---- |
| |
| *** 3712,3717 **** |
| --- 3705,3718 ---- |
| gui_may_update_scrollbars(); |
| #endif |
| |
| + #ifdef FEAT_AUTOCMD |
| + /* Apply autocommands after updating the display, when 'rows' and |
| + * 'columns' have been set correctly. */ |
| + 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); |
| } |
| |
| |
| |
| |
| *** 716,717 **** |
| --- 716,719 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 472, |
| /**/ |
| |
| -- |
| hundred-and-one symptoms of being an internet addict: |
| 200. You really believe in the concept of a "paperless" office. |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ an exciting new programming language -- http://www.Zimbu.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |