X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a56a99abe859f37615251c865bc807bf13e8b180..125e7c11c16f23daa4c594f3b8d90194099c2394:/src/osx/utils_osx.cpp diff --git a/src/osx/utils_osx.cpp b/src/osx/utils_osx.cpp index 6318dd92eb..20d791b1a7 100644 --- a/src/osx/utils_osx.cpp +++ b/src/osx/utils_osx.cpp @@ -40,12 +40,6 @@ #endif #include "wx/osx/private.h" - -#ifdef wxOSX_USE_COCOA -// to get the themeing APIs -#include -#endif - #include "wx/osx/private/timer.h" #include "wx/evtloop.h" @@ -160,9 +154,31 @@ wxEventLoopBase* wxGUIAppTraits::CreateEventLoop() return new wxEventLoop; } +wxNonOwnedWindow *wxFindWindowFromWXWindow(WXWindow inWindowRef); +wxWindow* wxFindWindowAtPoint(wxWindow* win, const wxPoint& pt); + wxWindow* wxFindWindowAtPoint(const wxPoint& pt) { - return wxGenericFindWindowAtPoint(pt); +#if wxOSX_USE_CARBON + + Point screenPoint = { pt.y , pt.x }; + WindowRef windowRef; + + if ( FindWindow( screenPoint , &windowRef ) ) + { + wxNonOwnedWindow *nonOwned = wxFindWindowFromWXWindow( windowRef ); + + if ( nonOwned ) + return wxFindWindowAtPoint( nonOwned , pt ); + } + + return NULL; + +#else + + return wxGenericFindWindowAtPoint( pt ); + +#endif } /*