]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/notebmac.cpp
no changes, just corrected the comment for wxConvLocal
[wxWidgets.git] / src / mac / carbon / notebmac.cpp
index dbea2f10221ab86d50a5be4f5333a895ed59e670..df02de6a4b2cc5f20549cfa9e574e0e5cd3f5eb1 100644 (file)
@@ -322,7 +322,13 @@ int wxNotebook::HitTest(const wxPoint& pt, long * flags) const
 #if TARGET_API_MAC_OSX
     const int countPages = GetPageCount();
 
-    HIPoint hipoint = { pt.x , pt.y } ;
+    // we have to convert from Client to Window relative coordinates
+    wxPoint adjustedPt = pt + GetClientAreaOrigin(); 
+    // and now to HIView native ones
+    adjustedPt.x -= MacGetLeftBorderSize() ;
+    adjustedPt.y -= MacGetTopBorderSize() ;
+    
+    HIPoint hipoint= { adjustedPt.x , adjustedPt.y } ;
     HIViewPartCode outPart = 0 ;
     OSStatus err = HIViewGetPartHit( m_peer->GetControlRef(), &hipoint, &outPart );
 
@@ -353,7 +359,7 @@ int wxNotebook::HitTest(const wxPoint& pt, long * flags) const
     }
 
     if ( outPart >= 1 && outPart <= countPages )
-        resultV = outPart ;
+        resultV = outPart - 1 ;
 #endif // TARGET_API_MAC_OSX
 
     if (flags != NULL)
@@ -361,7 +367,7 @@ int wxNotebook::HitTest(const wxPoint& pt, long * flags) const
         *flags = 0;
 
         // we cannot differentiate better
-        if (resultV >= 1)
+        if (resultV >= 0)
             *flags |= wxNB_HITTEST_ONLABEL;
         else
             *flags |= wxNB_HITTEST_NOWHERE;