]> git.pld-linux.org Git - packages/vim.git/blame - 6.2.134
- use new bonobo patch (20040115)
[packages/vim.git] / 6.2.134
CommitLineData
eb0ac1ae
AG
1To: vim-dev@vim.org
2Subject: Patch 6.2.134 (extra)
3Fcc: outbox
4From: Bram Moolenaar <Bram@moolenaar.net>
5Mime-Version: 1.0
6Content-Type: text/plain; charset=ISO-8859-1
7Content-Transfer-Encoding: 8bit
8------------
9
10Patch 6.2.134 (extra)
11Problem: Win32: When scrolling parts of the window are redrawn when this
12 isn't necessary.
13Solution: Only invalidate parts of the window when they are obscured by
14 other windows. (Michael Wookey)
15Files: src/gui_w48.c
16
17
18
19*** ../vim-6.2.133/src/gui_w48.c Sun Oct 26 20:11:34 2003
20--- src/gui_w48.c Sun Oct 26 20:56:48 2003
21***************
22*** 2382,2387 ****
23--- 2382,2409 ----
24 }
25
26 /*
27+ * Return flags used for scrolling.
28+ * The SW_INVALIDATE is required when part of the window is covered or
29+ * off-screen. Refer to MS KB Q75236.
30+ */
31+ static int
32+ get_scroll_flags(void)
33+ {
34+ HWND hwnd;
35+ RECT rcVim, rcOther, rcDest;
36+
37+ GetWindowRect(s_hwnd, &rcVim);
38+ for (hwnd = s_hwnd; (hwnd = GetWindow(hwnd, GW_HWNDPREV)) != (HWND)0; )
39+ if (IsWindowVisible(hwnd))
40+ {
41+ GetWindowRect(hwnd, &rcOther);
42+ if (IntersectRect(&rcDest, &rcVim, &rcOther))
43+ return SW_INVALIDATE;
44+ }
45+ return 0;
46+ }
47+
48+ /*
49 * Delete the given number of lines from the given row, scrolling up any
50 * text further down within the scroll region.
51 */
52***************
53*** 2396,2405 ****
54 rc.right = FILL_X(gui.scroll_region_right + 1);
55 rc.top = FILL_Y(row);
56 rc.bottom = FILL_Y(gui.scroll_region_bot + 1);
57! /* The SW_INVALIDATE is required when part of the window is covered or
58! * off-screen. How do we avoid it when it's not needed? */
59 ScrollWindowEx(s_textArea, 0, -num_lines * gui.char_height,
60! &rc, &rc, NULL, NULL, SW_INVALIDATE);
61
62 UpdateWindow(s_textArea);
63 /* This seems to be required to avoid the cursor disappearing when
64--- 2418,2426 ----
65 rc.right = FILL_X(gui.scroll_region_right + 1);
66 rc.top = FILL_Y(row);
67 rc.bottom = FILL_Y(gui.scroll_region_bot + 1);
68!
69 ScrollWindowEx(s_textArea, 0, -num_lines * gui.char_height,
70! &rc, &rc, NULL, NULL, get_scroll_flags());
71
72 UpdateWindow(s_textArea);
73 /* This seems to be required to avoid the cursor disappearing when
74***************
75*** 2431,2437 ****
76 /* The SW_INVALIDATE is required when part of the window is covered or
77 * off-screen. How do we avoid it when it's not needed? */
78 ScrollWindowEx(s_textArea, 0, num_lines * gui.char_height,
79! &rc, &rc, NULL, NULL, SW_INVALIDATE);
80
81 gui_undraw_cursor(); /* Is this really necessary? */
82 UpdateWindow(s_textArea);
83--- 2452,2458 ----
84 /* The SW_INVALIDATE is required when part of the window is covered or
85 * off-screen. How do we avoid it when it's not needed? */
86 ScrollWindowEx(s_textArea, 0, num_lines * gui.char_height,
87! &rc, &rc, NULL, NULL, get_scroll_flags());
88
89 gui_undraw_cursor(); /* Is this really necessary? */
90 UpdateWindow(s_textArea);
91*** ../vim-6.2.133/src/version.c Sun Oct 26 20:19:23 2003
92--- src/version.c Sun Oct 26 20:59:01 2003
93***************
94*** 639,640 ****
95--- 639,642 ----
96 { /* Add new patch number below this line */
97+ /**/
98+ 134,
99 /**/
100
101--
102ARTHUR: You fight with the strength of many men, Sir knight.
103 I am Arthur, King of the Britons. [pause]
104 I seek the finest and the bravest knights in the land to join me
105 in my Court of Camelot. [pause]
106 You have proved yourself worthy; will you join me? [pause]
107 You make me sad. So be it. Come, Patsy.
108BLACK KNIGHT: None shall pass.
109 The Quest for the Holy Grail (Monty Python)
110
111 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
112/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
113\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
114 \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
This page took 0.049329 seconds and 4 git commands to generate.