Fix from Bo

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2007-08-28 09:47:01 +00:00
parent 57f2a65292
commit d92cb0154b

View File

@@ -2936,13 +2936,17 @@ wxDataViewTreeNode * wxDataViewMainWindow::FindNode( const wxDataViewItem & item
BuildTreeHelper(model, node->GetItem(), node); BuildTreeHelper(model, node->GetItem(), node);
wxDataViewTreeNodes nodes = node->GetNodes(); wxDataViewTreeNodes nodes = node->GetNodes();
//The wxSortedArray search a node in binary search, so using Item() is more efficient int i = 0;
wxDataViewTreeNode temp; for (; i < nodes.GetCount(); i ++)
temp.SetItem(*(n->GetData())); {
int index = nodes.Index( &temp ); if (nodes[i]->GetItem() == *(n->GetData()))
if( index == wxNOT_FOUND ) {
node = nodes[i];
break;
}
}
if (i == nodes.GetCount())
return NULL; return NULL;
node = nodes[index];
} }
else else
return NULL; return NULL;