X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5a7d70fe8922a56407a5b02b95a53fb16e787f70..0e05227246cc99b2f8133ae639f38c508351afa0:/src/mac/carbon/notebmac.cpp diff --git a/src/mac/carbon/notebmac.cpp b/src/mac/carbon/notebmac.cpp index dbea2f1022..df02de6a4b 100644 --- a/src/mac/carbon/notebmac.cpp +++ b/src/mac/carbon/notebmac.cpp @@ -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;