From: Vadim Zeitlin Date: Fri, 18 Sep 2009 17:10:58 +0000 (+0000) Subject: Change return type of wxList::Member() to bool. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/0f08aa44323c65b92cbef304c59b742af8fd717c Change return type of wxList::Member() to bool. It used to return a pointer in wxUSE_STL==0 build and an object in wxUSE_STL==1 one making checking its return value difficult without provoking warnings from either MSVC or g++ (see #11038). Also, all the other occurrences of Member() already returned bool, including the one in wxStringList so changing it to return bool in wxList itself is more consistent. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/changes.txt b/docs/changes.txt index 8e8ac5f3de..8bcebd9415 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -276,6 +276,11 @@ Changes in behaviour which may result in compilation errors without enclosing parentheses results in warnings from g++ with -Wparentheses, add parentheses around the if statement body to work around it. +- wxList::Member() now returns book and not a pointer/iterator. This shouldn't + require any changes as it was always meant to be used for checking for the + presence of an element in the list only. If you used it as Find(), simple do + use Find() instead. + Deprecated methods and their replacements ----------------------------------------- diff --git a/include/wx/list.h b/include/wx/list.h index 88913253ec..a84ee041bb 100644 --- a/include/wx/list.h +++ b/include/wx/list.h @@ -258,7 +258,7 @@ inline const void *wxListCastElementToVoidPtr(const wxString& str) iterator i = const_cast< liT* >(this)->end(); \ return compatibility_iterator( this, !empty() ? --i : i ); \ } \ - compatibility_iterator Member( elT e ) const \ + bool Member( elT e ) const \ { return Find( e ); } \ compatibility_iterator Nth( int n ) const \ { return Item( n ); } \ @@ -1179,12 +1179,8 @@ public: // compatibility methods void Sort(wxSortCompareFunction compfunc) { wxListBase::Sort(compfunc); } -#endif - -#if wxUSE_STL -#else - wxNode *Member(wxObject *object) const { return (wxNode *)Find(object); } -#endif + bool Member(wxObject *object) const { return Find(object) != NULL; } +#endif // !wxUSE_STL }; #if !wxUSE_STL diff --git a/interface/wx/list.h b/interface/wx/list.h index bee1b9c1d0..cb925cde87 100644 --- a/interface/wx/list.h +++ b/interface/wx/list.h @@ -209,9 +209,11 @@ public: wxList::compatibility_iterator Item(size_t index) const; /** - @deprecated This function is deprecated, use Find() instead. + Check if the object is present in the list. + + @see Find() */ - wxList::compatibility_iterator Member(T* object) const; + bool Member(T* object) const; /** @deprecated This function is deprecated, use Item() instead. diff --git a/src/common/appbase.cpp b/src/common/appbase.cpp index cf9ad8b1af..c8ec12a388 100644 --- a/src/common/appbase.cpp +++ b/src/common/appbase.cpp @@ -535,7 +535,7 @@ void wxAppConsoleBase::DeletePendingEvents() bool wxAppConsoleBase::IsScheduledForDestruction(wxObject *object) const { - return wxPendingDelete.Member(object) != NULL; + return wxPendingDelete.Member(object); } void wxAppConsoleBase::ScheduleForDestruction(wxObject *object)