Nikolay Sivov : comctl32/header: Fix hittesting flags, extend tests a bit.

Alexandre Julliard julliard at winehq.org
Wed Jul 15 09:45:49 CDT 2009


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

Author: Nikolay Sivov <bunglehead at gmail.com>
Date:   Wed Jul 15 00:11:12 2009 +0400

comctl32/header: Fix hittesting flags, extend tests a bit.

---

 dlls/comctl32/header.c       |    6 ++++--
 dlls/comctl32/tests/header.c |   11 ++++++-----
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/dlls/comctl32/header.c b/dlls/comctl32/header.c
index 1ee58cd..7c8f161 100644
--- a/dlls/comctl32/header.c
+++ b/dlls/comctl32/header.c
@@ -1224,10 +1224,12 @@ HEADER_GetUnicodeFormat (const HEADER_INFO *infoPtr)
 static LRESULT
 HEADER_HitTest (const HEADER_INFO *infoPtr, LPHDHITTESTINFO phti)
 {
+    UINT outside = HHT_NOWHERE | HHT_ABOVE | HHT_BELOW | HHT_TOLEFT | HHT_TORIGHT;
+
     HEADER_InternalHitTest (infoPtr, &phti->pt, &phti->flags, &phti->iItem);
 
-    if (phti->flags == HHT_NOWHERE)
-        return -1;
+    if (phti->flags & outside)
+	return phti->iItem = -1;
     else
         return phti->iItem;
 }
diff --git a/dlls/comctl32/tests/header.c b/dlls/comctl32/tests/header.c
index bf3960e..611433e 100644
--- a/dlls/comctl32/tests/header.c
+++ b/dlls/comctl32/tests/header.c
@@ -904,6 +904,7 @@ static void test_hdm_hittest(HWND hParent)
     retVal = SendMessage(hChild, HDM_HITTEST, 0, (LPARAM) &hdHitTestInfo);
     expect(0, retVal);
     expect(0, hdHitTestInfo.iItem);
+    expect(HHT_ONDIVIDER, hdHitTestInfo.flags);
 
     pt.x = secondItemRightBoundary - 1;
     pt.y = bottomBoundary - 1;
@@ -911,15 +912,15 @@ static void test_hdm_hittest(HWND hParent)
     retVal = SendMessage(hChild, HDM_HITTEST, 1, (LPARAM) &hdHitTestInfo);
     expect(1, retVal);
     expect(1, hdHitTestInfo.iItem);
+    expect(HHT_ONDIVIDER, hdHitTestInfo.flags);
 
     pt.x = secondItemRightBoundary;
     pt.y = bottomBoundary + 1;
     hdHitTestInfo.pt = pt;
-    todo_wine
-    {
-     retVal = SendMessage(hChild, HDM_HITTEST, 0, (LPARAM) &hdHitTestInfo);
-     expect(-1, retVal);
-    }
+    retVal = SendMessage(hChild, HDM_HITTEST, 0, (LPARAM) &hdHitTestInfo);
+    expect(-1, retVal);
+    expect(-1, hdHitTestInfo.iItem);
+    expect(HHT_BELOW, hdHitTestInfo.flags);
 
     ok_sequence(sequences, HEADER_SEQ_INDEX, hittest_seq, "hittest sequence testing", FALSE);
 




More information about the wine-cvs mailing list