Removed superfluous BView::findView() and moved its functionality to BView::FindView().
Fixed it on the way - it's a bad idea to pass NULL pointers to strcmp(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13288 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
+16
-20
@@ -3172,7 +3172,22 @@ BView::Parent() const
|
||||
BView *
|
||||
BView::FindView(const char *name) const
|
||||
{
|
||||
return findView(this, name);
|
||||
if (name == NULL)
|
||||
return NULL;
|
||||
|
||||
if (Name() != NULL && !strcmp(Name(), name))
|
||||
return const_cast<BView *>(this);
|
||||
|
||||
BView *child = first_child;
|
||||
while (child != NULL) {
|
||||
BView *view = child->FindView(name);
|
||||
if (view != NULL)
|
||||
return view;
|
||||
|
||||
child = child->next_sibling;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -3799,25 +3814,6 @@ BView::deleteView(BView* view)
|
||||
}
|
||||
|
||||
|
||||
BView *
|
||||
BView::findView(const BView *view, const char *viewName) const
|
||||
{
|
||||
if (!strcmp(viewName, view->Name()))
|
||||
return const_cast<BView *>(view);
|
||||
|
||||
BView *child = view->first_child;
|
||||
while (child != NULL) {
|
||||
BView *view;
|
||||
if ((view = findView(child, viewName)) != NULL)
|
||||
return view;
|
||||
|
||||
child = child->next_sibling;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
BView::setCachedState()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user