X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/37d0bfa8756716ac456879bd64c57ec27fe20be5..914955aaa034862c3b9b827463cde26455d06c79:/src/mac/carbon/uma.cpp?ds=inline diff --git a/src/mac/carbon/uma.cpp b/src/mac/carbon/uma.cpp index 1c31083085..5eb2fbc5ba 100644 --- a/src/mac/carbon/uma.cpp +++ b/src/mac/carbon/uma.cpp @@ -33,6 +33,9 @@ #endif #include "wx/mac/uma.h" +#if TARGET_API_MAC_OSX +#include "wx/toplevel.h" +#endif // since we have decided that we only support 8.6 upwards we are // checking for these minimum requirements in the startup code of @@ -790,18 +793,18 @@ OSStatus UMAPutScrap( Size size , OSType type , void *data ) Rect* UMAGetControlBoundsInWindowCoords(ControlRef theControl, Rect *bounds) { - wxWindow* win = wxFindControlFromMacControl( theControl ) ; - GetControlBounds( theControl , bounds ) ; #if TARGET_API_MAC_OSX WindowRef tlwref = GetControlOwner( theControl ) ; - wxTopLevelWindowMac* tlwwx = wxFindWinFromMacWindow( tlwref ) ; - ControlRef rootControl = tlwwx->GetPeer()->GetControlRef() ; - - HIPoint hiPoint = CGPointMake( 0 , 0 ) ; - HIViewConvertPoint( &hiPoint , HIViewGetSuperview(theControl) , rootControl ) ; - OffsetRect( bounds , hiPoint.x , hiPoint.y ) ; + wxTopLevelWindowMac* tlwwx = wxFindWinFromMacWindow( tlwref ) ; + if ( tlwwx != NULL && tlwwx->MacUsesCompositing() ) + { + ControlRef rootControl = tlwwx->GetPeer()->GetControlRef() ; + HIPoint hiPoint = CGPointMake( 0 , 0 ) ; + HIViewConvertPoint( &hiPoint , HIViewGetSuperview(theControl) , rootControl ) ; + OffsetRect( bounds , (short) hiPoint.x , (short) hiPoint.y ) ; + } #endif return bounds ; }