[5/5] comctl32/listview: Fix resizing grid drawing at right from rightmost column

Nikolay Sivov bunglehead at gmail.com
Sun Apr 26 04:03:55 CDT 2009


Resizing rightmost column header shoul properly redraw remaining area at right.

Changelog:
    - Fix resizing grid drawing at right from rightmost column

>From adf6126ee083d51e2ca71483427caf90c7c51f9a Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Sun, 26 Apr 2009 12:39:36 +0400
Subject: Fix resizing grid drawing at right from rightmost column

---
 dlls/comctl32/listview.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index 6301c8a..b6c6c2d 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -9057,9 +9057,21 @@ static LRESULT LISTVIEW_HeaderNotification(LISTVIEW_INFO *infoPtr, const NMHEADE
 		    }
 
 		    /* when shrinking the last column clear the now unused field */
-		    if (lpnmh->iItem == DPA_GetPtrCount(infoPtr->hdpaColumns) - 1 && dx < 0)
+		    if (lpnmh->iItem == DPA_GetPtrCount(infoPtr->hdpaColumns) - 1)
+		    {
+		        RECT right;
+
 		        rcCol.right -= dx;
 
+		        /* deal with right from rightmost column area */
+		        right.left = rcCol.right;
+		        right.top  = rcCol.top;
+		        right.bottom = rcCol.bottom;
+		        right.right = infoPtr->rcList.right;
+
+		        LISTVIEW_InvalidateRect(infoPtr, &right);
+		    }
+
 		    LISTVIEW_InvalidateRect(infoPtr, &rcCol);
 		}
 	    }
-- 
1.5.6.5





More information about the wine-patches mailing list