git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10417 
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
 #define GetQDGlobalsBlack( a ) (&((*a) = qd.black))
 #define GetQDGlobalsScreenBits( a ) (*a) = qd.screenBits
 #define GetQDGlobalsArrow( a ) (&((*a) = qd.arrow))
 #define GetQDGlobalsBlack( a ) (&((*a) = qd.black))
 #define GetQDGlobalsScreenBits( a ) (*a) = qd.screenBits
 #define GetQDGlobalsArrow( a ) (&((*a) = qd.arrow))
-#define GetControlBounds( c , b ) ((*b) = (**c).contrlRect )
+#define GetControlBounds( c , b ) &((*b) = (**c).contrlRect )
 #define GetPortBitMapForCopyBits( p ) ((BitMap*) &(((CGrafPtr)p)->portPixMap ))
 #endif
 
 #define GetPortBitMapForCopyBits( p ) ((BitMap*) &(((CGrafPtr)p)->portPixMap ))
 #endif
 
 
         ::ActivateControl( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
         ::ActivateControl( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
-          InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
+          Rect ctrlBounds ;
+          InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;
         bool visible = UMAIsControlVisible( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , false , false ) ;
         bool visible = UMAIsControlVisible( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , false , false ) ;
-          InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
+          Rect ctrlBounds ;
+          InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;
         }
         ::MoveControl( inControl , x , y ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
         }
         ::MoveControl( inControl , x , y ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
-          InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
+          Rect ctrlBounds ;
+          InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;
         bool visible = UMAIsControlVisible( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , false , false ) ;
         bool visible = UMAIsControlVisible( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , false , false ) ;
-          InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
+          Rect ctrlBounds ;
+          InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;
         }
         ::SizeControl( inControl , x , y ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
         }
         ::SizeControl( inControl , x , y ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
-          InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
+          Rect ctrlBounds ;
+          InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;
         ::DeactivateControl( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
         ::DeactivateControl( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
-          InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
+          Rect ctrlBounds ;
+          InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;
     if ( UMAHasAppearance() )
     {
         SetControlVisibility( inControl , true , false ) ;
     if ( UMAHasAppearance() )
     {
         SetControlVisibility( inControl , true , false ) ;
-        InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
-    }
-    else
-    {
-        (**inControl).contrlVis = 255 ;
+        Rect ctrlBounds ;
+        InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;
 
         ::ActivateControl( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
         ::ActivateControl( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
-          InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
+          Rect ctrlBounds ;
+          InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;
         bool visible = UMAIsControlVisible( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , false , false ) ;
         bool visible = UMAIsControlVisible( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , false , false ) ;
-          InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
+          Rect ctrlBounds ;
+          InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;
         }
         ::MoveControl( inControl , x , y ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
         }
         ::MoveControl( inControl , x , y ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
-          InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
+          Rect ctrlBounds ;
+          InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;
         bool visible = UMAIsControlVisible( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , false , false ) ;
         bool visible = UMAIsControlVisible( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , false , false ) ;
-          InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
+          Rect ctrlBounds ;
+          InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;
         }
         ::SizeControl( inControl , x , y ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
         }
         ::SizeControl( inControl , x , y ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
-          InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
+          Rect ctrlBounds ;
+          InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;
         ::DeactivateControl( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
         ::DeactivateControl( inControl ) ;
         if ( visible ) {
           SetControlVisibility( inControl , true , false ) ;
-          InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
+          Rect ctrlBounds ;
+          InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;
     if ( UMAHasAppearance() )
     {
         SetControlVisibility( inControl , true , false ) ;
     if ( UMAHasAppearance() )
     {
         SetControlVisibility( inControl , true , false ) ;
-        InvalWindowRect(GetControlOwner(inControl),&(**inControl).contrlRect ) ;
-    }
-    else
-    {
-        (**inControl).contrlVis = 255 ;
+        Rect ctrlBounds ;
+        InvalWindowRect(GetControlOwner(inControl),GetControlBounds(inControl,&ctrlBounds) ) ;