git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53679
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
unsigned int r;
for (r = 0; r < row; r++)
{
unsigned int r;
for (r = 0; r < row; r++)
{
- const wxDataViewTreeNode* node = GetTreeNodeByRow(r);
- if (!node) return start;
+ const wxDataViewTreeNode* node = GetTreeNodeByRow(r);
+ if (!node) return start;
- wxDataViewItem item = node->GetItem();
+ wxDataViewItem item = node->GetItem();
- unsigned int cols = GetOwner()->GetColumnCount();
- unsigned int col;
- int height = m_lineHeight;
- for (col = 0; col < cols; col++)
- {
+ if (node && !node->HasChildren())
+ {
+ // Yes, if the node does not have any child, it must be a leaf which
+ // mean that it is a temporarily created by GetTreeNodeByRow
+ wxDELETE(node)
+ }
+
+ unsigned int cols = GetOwner()->GetColumnCount();
+ unsigned int col;
+ int height = m_lineHeight;
+ for (col = 0; col < cols; col++)
+ {
const wxDataViewColumn *column = GetOwner()->GetColumn(col);
if (column->IsHidden())
continue; // skip it!
const wxDataViewColumn *column = GetOwner()->GetColumn(col);
if (column->IsHidden())
continue; // skip it!
wxDataViewRenderer *renderer2 = const_cast<wxDataViewRenderer*>(renderer);
renderer2->SetValue( value );
height = wxMax( height, renderer->GetSize().y );
wxDataViewRenderer *renderer2 = const_cast<wxDataViewRenderer*>(renderer);
renderer2->SetValue( value );
height = wxMax( height, renderer->GetSize().y );
wxDataViewItem item = node->GetItem();
wxDataViewItem item = node->GetItem();
+ if (node && !node->HasChildren())
+ {
+ // Yes, if the node does not have any child, it must be a leaf which
+ // mean that it is a temporarily created by GetTreeNodeByRow
+ wxDELETE(node)
+ }
+
unsigned int cols = GetOwner()->GetColumnCount();
unsigned int col;
int height = m_lineHeight;
unsigned int cols = GetOwner()->GetColumnCount();
unsigned int col;
int height = m_lineHeight;
wxDataViewItem item = node->GetItem();
wxDataViewItem item = node->GetItem();
+ if (node && !node->HasChildren())
+ {
+ // Yes, if the node does not have any child, it must be a leaf which
+ // mean that it is a temporarily created by GetTreeNodeByRow
+ wxDELETE(node)
+ }
+
int height = m_lineHeight;
unsigned int cols = GetOwner()->GetColumnCount();
int height = m_lineHeight;
unsigned int cols = GetOwner()->GetColumnCount();