- if ( win != NULL && win->MacGetTopLevelWindow() != NULL )
- {
- int x , y ;
- x = 0 ;
- y = 0 ;
-
- win->GetParent()->MacWindowToRootWindow( &x , & y ) ;
- bounds->left += x ;
- bounds->right += x ;
- bounds->top += y ;
- bounds->bottom += y ;
- }
+ WindowRef tlwref = GetControlOwner( theControl ) ;
+ wxWindow* tlwwx = (wxWindow*) wxFindWinFromMacWindow( tlwref ) ;
+ ControlRef rootControl = tlwwx->GetPeer()->GetControlRef() ;
+
+ HIPoint hiPoint = CGPointMake( 0 , 0 ) ;
+
+ HIViewConvertPoint( &hiPoint , HIViewGetSuperview(theControl) , rootControl ) ;
+ OffsetRect( bounds , (short) (hiPoint.x) , (short) (hiPoint.y) ) ;