Module: wine Branch: master Commit: ebdf2fd254b877b05b1d3b1a607c1ba5684a03be URL: http://source.winehq.org/git/wine.git/?a=commit;h=ebdf2fd254b877b05b1d3b1a60...
Author: Nikolay Sivov bunglehead@gmail.com Date: Mon Aug 3 02:32:37 2009 +0400
comctl32/listview: Offset every but LVIR_BOUNDS rectangles to column bound in details view.
---
dlls/comctl32/listview.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c index 59f70a2..ea96b8a 100644 --- a/dlls/comctl32/listview.c +++ b/dlls/comctl32/listview.c @@ -6258,6 +6258,7 @@ static BOOL LISTVIEW_GetItemRect(const LISTVIEW_INFO *infoPtr, INT nItem, LPRECT BOOL doLabel = TRUE, oversizedBox = FALSE; POINT Position, Origin; LVITEMW lvItem; + LONG mode;
TRACE("(hwnd=%p, nItem=%d, lprc=%p)\n", infoPtr->hwndSelf, nItem, lprc);
@@ -6294,6 +6295,8 @@ static BOOL LISTVIEW_GetItemRect(const LISTVIEW_INFO *infoPtr, INT nItem, LPRECT
if (infoPtr->uView == LV_VIEW_DETAILS && (infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT) && lprc->left == LVIR_SELECTBOUNDS) lprc->left = LVIR_BOUNDS; + + mode = lprc->left; switch(lprc->left) { case LVIR_ICON: @@ -6318,7 +6321,13 @@ static BOOL LISTVIEW_GetItemRect(const LISTVIEW_INFO *infoPtr, INT nItem, LPRECT }
if (infoPtr->uView == LV_VIEW_DETAILS) - OffsetRect(lprc, Origin.x, Position.y + Origin.y); + { + if (mode != LVIR_BOUNDS) + OffsetRect(lprc, Origin.x + LISTVIEW_GetColumnInfo(infoPtr, 0)->rcHeader.left, + Position.y + Origin.y); + else + OffsetRect(lprc, Origin.x, Position.y + Origin.y); + } else OffsetRect(lprc, Position.x + Origin.x, Position.y + Origin.y);