Free memory of m_root

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50082 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2007-11-19 13:42:01 +00:00
parent eff112a640
commit 51bdecff6f

View File

@@ -3231,6 +3231,11 @@ void BuildTreeHelper( wxDataViewModel * model, wxDataViewItem & item, wxDataVie
void wxDataViewMainWindow::BuildTree(wxDataViewModel * model) void wxDataViewMainWindow::BuildTree(wxDataViewModel * model)
{ {
DestroyTree();
m_root = new wxDataViewTreeNode( NULL );
m_root->SetHasChildren(true);
//First we define a invalid item to fetch the top-level elements //First we define a invalid item to fetch the top-level elements
wxDataViewItem item; wxDataViewItem item;
SortPrepare(); SortPrepare();
@@ -3255,9 +3260,12 @@ void DestroyTreeHelper( wxDataViewTreeNode * node )
void wxDataViewMainWindow::DestroyTree() void wxDataViewMainWindow::DestroyTree()
{ {
DestroyTreeHelper(m_root); if (m_root)
m_root->SetSubTreeCount(0); {
m_count = 0 ; DestroyTreeHelper(m_root);
m_count = 0;
m_root = NULL;
}
} }
void wxDataViewMainWindow::OnChar( wxKeyEvent &event ) void wxDataViewMainWindow::OnChar( wxKeyEvent &event )
@@ -3784,6 +3792,8 @@ bool wxDataViewCtrl::AssociateModel( wxDataViewModel *model )
model->AddNotifier( m_notifier ); model->AddNotifier( m_notifier );
m_clientArea->DestroyTree();
m_clientArea->BuildTree(model); m_clientArea->BuildTree(model);
m_clientArea->UpdateDisplay(); m_clientArea->UpdateDisplay();