From ee5aa9d44fa75e88bce9981d7d02dea9f6d5f3c4 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Fri, 20 Jul 2007 08:23:53 +0000 Subject: [PATCH] Fix for crash when opening empty node git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/dataview.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/gtk/dataview.cpp b/src/gtk/dataview.cpp index c16bb6cc67..50618e6eba 100644 --- a/src/gtk/dataview.cpp +++ b/src/gtk/dataview.cpp @@ -2312,6 +2312,9 @@ gboolean wxDataViewCtrlInternal::iter_children( GtkTreeIter *iter, GtkTreeIter * wxGtkTreeModelNode *parent_node = FindNode( parent ); BuildBranch( parent_node ); + + if (parent_node->GetChildren().GetCount() == 0) + return FALSE; wxGtkTreeModelNode *first_child_node = parent_node->GetChildren().Item( 0 ); @@ -2324,8 +2327,15 @@ gboolean wxDataViewCtrlInternal::iter_children( GtkTreeIter *iter, GtkTreeIter * gboolean wxDataViewCtrlInternal::iter_has_child( GtkTreeIter *iter ) { wxDataViewItem item( (void*) iter->user_data ); + bool res = m_wx_model->HasChildren( item ); + + if (!res) + return FALSE; + + wxGtkTreeModelNode *node = FindNode( iter ); + BuildBranch( node ); - return m_wx_model->HasChildren( item ); + return (node->GetChildren().GetCount() > 0); } gint wxDataViewCtrlInternal::iter_n_children( GtkTreeIter *iter ) -- 2.47.2