Mikołaj Zalewski : comctl32: header: Don' t try to draw items outside the clipping rect.

Alexandre Julliard julliard at wine.codeweavers.com
Tue May 23 11:04:49 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: b8da6f27515140810f3c84bd971a365c581be228
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=b8da6f27515140810f3c84bd971a365c581be228

Author: Mikołaj Zalewski <mikolaj at zalewski.pl>
Date:   Mon May 22 22:53:08 2006 +0200

comctl32: header: Don't try to draw items outside the clipping rect.

---

 dlls/comctl32/header.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/comctl32/header.c b/dlls/comctl32/header.c
index 6696e25..81a8b92 100644
--- a/dlls/comctl32/header.c
+++ b/dlls/comctl32/header.c
@@ -466,8 +466,10 @@ HEADER_Refresh (HWND hwnd, HDC hdc)
 
     x = rect.left;
     for (i = 0; x <= rect.right && i < infoPtr->uNumItem; i++) {
-        x = HEADER_DrawItem (hwnd, hdc, HEADER_OrderToIndex(hwnd,i), 
-            infoPtr->iHotItem == i);
+        int idx = HEADER_OrderToIndex(hwnd,i);
+        if (RectVisible(hdc, &infoPtr->items[idx].rect))
+            HEADER_DrawItem (hwnd, hdc, idx, infoPtr->iHotItem == i);
+        x = infoPtr->items[idx].rect.right;
     }
 
     if ((x <= rect.right) && (infoPtr->uNumItem > 0)) {




More information about the wine-cvs mailing list