Nikolay Sivov : comctl32/listview: Don' t offset item box to item position on LVS_EX_FULLROWSELECT if item isn' t in leftmost column.

Alexandre Julliard julliard at winehq.org
Mon Jun 15 07:59:11 CDT 2009


Module: wine
Branch: master
Commit: 8372d1832ddbed597804ffb60d696dfd776fd4cb
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8372d1832ddbed597804ffb60d696dfd776fd4cb

Author: Nikolay Sivov <bunglehead at gmail.com>
Date:   Sun Jun 14 20:08:54 2009 +0400

comctl32/listview: Don't offset item box to item position on LVS_EX_FULLROWSELECT if item isn't in leftmost column.

---

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

diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index 8ef516a..2599abd 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -2249,7 +2249,13 @@ static void LISTVIEW_GetItemBox(const LISTVIEW_INFO *infoPtr, INT nItem, LPRECT
     }
     LISTVIEW_GetItemMetrics(infoPtr, &lvItem, lprcBox, 0, 0, 0, 0);
 
-    OffsetRect(lprcBox, Position.x + Origin.x, Position.y + Origin.y);
+    if (infoPtr->uView == LV_VIEW_DETAILS && infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT &&
+        SendMessageW(infoPtr->hwndHeader, HDM_ORDERTOINDEX, 0, 0))
+    {
+        OffsetRect(lprcBox, Origin.x, Position.y + Origin.y);
+    }
+    else
+        OffsetRect(lprcBox, Position.x + Origin.x, Position.y + Origin.y);
 }
 
 




More information about the wine-cvs mailing list