]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/window.cpp
delete children in ~wxWindow dtor and not in the base class ~wxWindowNative as it...
[wxWidgets.git] / src / mac / carbon / window.cpp
index 4b312d033e22d2a302fff2a900fbba027ab31d18..313f6f0b19be708f98b039b3b85ac31450754d70 100644 (file)
@@ -892,6 +892,19 @@ bool wxWindowMac::Create(wxWindowMac *parent, wxWindowID id,
     return TRUE;
 }
 
+void wxWindowMac::MacChildAdded() 
+{
+    if ( m_vScrollBar )
+    {
+        m_vScrollBar->Raise() ;
+    }
+    if ( m_hScrollBar )
+    {
+        m_hScrollBar->Raise() ;
+    }
+
+}
+
 void wxWindowMac::MacPostControlCreate(const wxPoint& pos, const wxSize& size)
 {
     wxASSERT_MSG( m_peer != NULL && m_peer->Ok() , wxT("No valid mac control") ) ;
@@ -904,6 +917,7 @@ void wxWindowMac::MacPostControlCreate(const wxPoint& pos, const wxSize& size)
     ControlRef container = (ControlRef) GetParent()->GetHandle() ;
     wxASSERT_MSG( container != NULL , wxT("No valid mac container control") ) ;
     ::EmbedControl( m_peer->GetControlRef() , container ) ;
+    GetParent()->MacChildAdded() ;
 
     // adjust font, controlsize etc
     DoSetWindowVariant( m_windowVariant ) ;
@@ -1384,12 +1398,12 @@ void wxWindowMac::MacGetContentAreaInset( int &left , int &top , int &right , in
     if ( m_peer->GetRegion( kControlContentMetaPart , rgn ) == noErr )
     {
         GetRegionBounds( rgn , &content ) ;
-        DisposeRgn( rgn ) ;
     }
     else
     {
         m_peer->GetRect( &content ) ;
     }
+    DisposeRgn( rgn ) ;
     Rect structure ;
     m_peer->GetRect( &structure ) ;
 #if !TARGET_API_MAC_OSX
@@ -1412,12 +1426,12 @@ wxSize wxWindowMac::DoGetSizeFromClientSize( const wxSize & size )  const
     if ( m_peer->GetRegion( kControlContentMetaPart , rgn ) == noErr )
     {
         GetRegionBounds( rgn , &content ) ;
-        DisposeRgn( rgn ) ;
     }
     else
     {
         m_peer->GetRect( &content ) ;
     }
+    DisposeRgn( rgn ) ;
     Rect structure ;
     m_peer->GetRect( &structure ) ;
 #if !TARGET_API_MAC_OSX
@@ -1444,12 +1458,12 @@ void wxWindowMac::DoGetClientSize(int *x, int *y) const
     if ( m_peer->GetRegion( kControlContentMetaPart , rgn ) == noErr )
     {
         GetRegionBounds( rgn , &content ) ;
-        DisposeRgn( rgn ) ;
     }
     else
     {
         m_peer->GetRect( &content ) ;
     }
+    DisposeRgn( rgn ) ;
 #if !TARGET_API_MAC_OSX
     Rect structure ;
     m_peer->GetRect( &structure ) ;