[2/2] comctl32/listview: Improve column scrolling

Nikolay Sivov bunglehead at gmail.com
Fri Jun 5 05:05:49 CDT 2009


This removes another assumption on column index-order relation.

Changelog:
    - Improve column scrolling

>From 003f78f3b4596d42436aebfd12742bd494a56938 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Fri, 5 Jun 2009 13:55:19 +0400
Subject: Improve column scrolling

---
 dlls/comctl32/listview.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index 56b244d..dafb914 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -4676,11 +4676,14 @@ static void LISTVIEW_ScrollColumns(LISTVIEW_INFO *infoPtr, INT nColumn, INT dx)
 	rcCol.left = rcCol.right;
     
     /* adjust the other columns */
-    for (nCol = nColumn; nCol < DPA_GetPtrCount(infoPtr->hdpaColumns); nCol++)
+    for (nCol = 0; nCol < DPA_GetPtrCount(infoPtr->hdpaColumns); nCol++)
     {
 	lpColumnInfo = LISTVIEW_GetColumnInfo(infoPtr, nCol);
-        lpColumnInfo->rcHeader.left += dx;
-        lpColumnInfo->rcHeader.right += dx;
+	if (lpColumnInfo->rcHeader.left >= rcCol.left)
+	{
+	    lpColumnInfo->rcHeader.left  += dx;
+	    lpColumnInfo->rcHeader.right += dx;
+	}
     }
 
     /* do not update screen if not in report mode */
-- 
1.5.6.5







More information about the wine-patches mailing list