]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/sizer.cpp
compilation fix for !PCH
[wxWidgets.git] / src / common / sizer.cpp
index 3f7e4352a6397e329d691e7a6e51cc3424ab43c1..3650a7b5b7b0ae49ce9f6648817e775725df3040 100644 (file)
@@ -94,10 +94,16 @@ wxSizerItem::wxSizerItem( wxSizer *sizer, int proportion, int flag, int border,
 
 wxSizerItem::~wxSizerItem()
 {
-    if (m_userData)
-        delete m_userData;
-    if (m_sizer)
+    delete m_userData;
+
+    if ( m_window )
+    {
+        m_window->SetContainingSizer(NULL);
+    }
+    else // we must be a sizer
+    {
         delete m_sizer;
+    }
 }
 
 
@@ -434,6 +440,7 @@ bool wxSizer::Detach( wxSizer *sizer )
         if (item->GetSizer() == sizer)
         {
             item->DetachSizer();
+            delete item;
             m_children.Erase( node );
             return true;
         }
@@ -455,6 +462,7 @@ bool wxSizer::Detach( wxWindow *window )
         if (item->GetWindow() == window)
         {
             item->GetWindow()->SetContainingSizer( NULL );
+            delete item;
             m_children.Erase( node );
             return true;
         }
@@ -481,6 +489,7 @@ bool wxSizer::Detach( int index )
     else if( item->IsWindow() )
         item->GetWindow()->SetContainingSizer( NULL );
 
+    delete item;
     m_children.Erase( node );
     return true;
 }