diff --git a/src/generic/datavgen.cpp b/src/generic/datavgen.cpp index 8a584ce69a..e361ef6606 100644 --- a/src/generic/datavgen.cpp +++ b/src/generic/datavgen.cpp @@ -2739,6 +2739,14 @@ bool wxDataViewMainWindow::ItemAdded(const wxDataViewItem & parent, const wxData if ( !parentNode ) return false; + // If the parent node isn't and hadn't been opened yet, we don't have + // anything to do here, all the items will be added to it when it's + // opened for the first time. + if ( !parentNode->IsOpen() && parentNode->GetChildNodes().empty() ) + { + return true; + } + wxDataViewTreeNode *itemNode = new wxDataViewTreeNode(parentNode, item); itemNode->SetHasChildren(GetModel()->IsContainer(item)); parentNode->SetHasChildren(true);