]>
Commit | Line | Data |
---|---|---|
c6060300 MT |
1 | To: vim_dev@googlegroups.com |
2 | Subject: Patch 7.3.472 | |
3 | Fcc: outbox | |
4 | From: Bram Moolenaar <Bram@moolenaar.net> | |
5 | Mime-Version: 1.0 | |
6 | Content-Type: text/plain; charset=UTF-8 | |
7 | Content-Transfer-Encoding: 8bit | |
8 | ------------ | |
9 | ||
10 | Patch 7.3.472 | |
11 | Problem: Crash when using ":redraw" in a BufEnter autocommand and | |
12 | switching to another tab. (驼峰) | |
13 | Solution: Move triggering the the autocommands to after correcting the | |
14 | option values. Also check the row value to be out of bounds. | |
15 | (Christian Brabandt, Sergey Khorev) | |
16 | Files: src/screen.c, src/window.c | |
17 | ||
18 | ||
19 | *** ../vim-7.3.471/src/screen.c 2012-02-04 23:34:57.000000000 +0100 | |
20 | --- src/screen.c 2012-03-16 18:59:20.000000000 +0100 | |
21 | *************** | |
22 | *** 5371,5376 **** | |
23 | --- 5371,5382 ---- | |
24 | # define CHAR_CELLS 1 | |
25 | #endif | |
26 | ||
27 | + /* Check for illegal row and col, just in case. */ | |
28 | + if (row >= Rows) | |
29 | + row = Rows - 1; | |
30 | + if (endcol > Columns) | |
31 | + endcol = Columns; | |
32 | + | |
33 | # ifdef FEAT_CLIPBOARD | |
34 | clip_may_clear_selection(row, row); | |
35 | # endif | |
36 | *** ../vim-7.3.471/src/window.c 2012-02-22 14:58:24.000000000 +0100 | |
37 | --- src/window.c 2012-03-16 18:43:01.000000000 +0100 | |
38 | *************** | |
39 | *** 3676,3688 **** | |
40 | win_enter_ext(tp->tp_curwin, FALSE, TRUE); | |
41 | prevwin = next_prevwin; | |
42 | ||
43 | - #ifdef FEAT_AUTOCMD | |
44 | - apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf); | |
45 | - | |
46 | - if (old_curbuf != curbuf) | |
47 | - apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf); | |
48 | - #endif | |
49 | - | |
50 | last_status(FALSE); /* status line may appear or disappear */ | |
51 | (void)win_comp_pos(); /* recompute w_winrow for all windows */ | |
52 | must_redraw = CLEAR; /* need to redraw everything */ | |
53 | --- 3676,3681 ---- | |
54 | *************** | |
55 | *** 3712,3717 **** | |
56 | --- 3705,3718 ---- | |
57 | gui_may_update_scrollbars(); | |
58 | #endif | |
59 | ||
60 | + #ifdef FEAT_AUTOCMD | |
61 | + /* Apply autocommands after updating the display, when 'rows' and | |
62 | + * 'columns' have been set correctly. */ | |
63 | + apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf); | |
64 | + if (old_curbuf != curbuf) | |
65 | + apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf); | |
66 | + #endif | |
67 | + | |
68 | redraw_all_later(CLEAR); | |
69 | } | |
70 | ||
71 | *** ../vim-7.3.471/src/version.c 2012-03-16 14:32:10.000000000 +0100 | |
72 | --- src/version.c 2012-03-16 19:02:53.000000000 +0100 | |
73 | *************** | |
74 | *** 716,717 **** | |
75 | --- 716,719 ---- | |
76 | { /* Add new patch number below this line */ | |
77 | + /**/ | |
78 | + 472, | |
79 | /**/ | |
80 | ||
81 | -- | |
82 | hundred-and-one symptoms of being an internet addict: | |
83 | 200. You really believe in the concept of a "paperless" office. | |
84 | ||
85 | /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ | |
86 | /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ | |
87 | \\\ an exciting new programming language -- http://www.Zimbu.org /// | |
88 | \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |