diff --git a/headers/os/interface/View.h b/headers/os/interface/View.h index 314bb05d2f..f09f80d2f8 100644 --- a/headers/os/interface/View.h +++ b/headers/os/interface/View.h @@ -585,7 +585,6 @@ private: void deleteView( BView* aView); bool do_owner_check_no_pick() const; - BView* findView( const BView* aView, const char* viewName ) const; bool attachView( BView *aView ); bool addToList( BView *aView, BView *before = NULL); bool removeFromList(); diff --git a/src/kits/interface/View.cpp b/src/kits/interface/View.cpp index a0279c17c7..178721abb1 100644 --- a/src/kits/interface/View.cpp +++ b/src/kits/interface/View.cpp @@ -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(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(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() {