[3/5] comctl32/listview: Don't offset subitems on painting

Nikolay Sivov bunglehead at gmail.com
Sun Jun 14 17:08:08 CDT 2009


Changelog:
    - don't offset subitems on painting:
      position offset added automatically through column rectangles.

>From 99a6590c079146b31f9152280e206b183248ea54 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Sun, 14 Jun 2009 22:06:48 +0400
Subject: Don't offset subitems on painting.

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

diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index 835f251..6fd3b71 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -4151,15 +4151,16 @@ static void LISTVIEW_RefreshReport(LISTVIEW_INFO *infoPtr, ITERATOR *i, HDC hdc,
     while(iterator_next(i))
     {
 	LISTVIEW_GetItemOrigin(infoPtr, i->nItem, &Position);
-	Position.x += Origin.x;
 	Position.y += Origin.y;
 
 	/* iterate through the invalidated columns */
 	while(iterator_next(&j))
 	{
+	    LISTVIEW_GetHeaderRect(infoPtr, j.nItem, &rcItem);
+	    Position.x = (j.nItem == 0) ? rcItem.left + Origin.x : Origin.x;
+
 	    if (rgntype == COMPLEXREGION && !((infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT) && j.nItem == 0))
 	    {
-		LISTVIEW_GetHeaderRect(infoPtr, j.nItem, &rcItem);
 		rcItem.top = 0;
 	        rcItem.bottom = infoPtr->nItemHeight;
 		OffsetRect(&rcItem, Position.x, Position.y);
-- 
1.5.6.5







More information about the wine-patches mailing list