From cd840087aa2bd90669f0523e9e8e1857db598b34 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 15 Dec 2006 01:47:26 +0000 Subject: [PATCH] fix compilation with wxUSE_STL=1 for VC6 (and presumably others) (bug 1614814) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43983 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 1 + include/wx/list.h | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index b83555f101..ac1a417acd 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -92,6 +92,7 @@ Major new features in 2.8 release All: +- Fix compilation with wxUSE_STL=1 - wxGrid::GetBestSize() returns same size the grid would have after AutoSize() wxMSW: diff --git a/include/wx/list.h b/include/wx/list.h index 8c19a070ec..4a8541d372 100644 --- a/include/wx/list.h +++ b/include/wx/list.h @@ -181,16 +181,18 @@ private: static BaseListType EmptyList; \ \ bool m_destroy; \ + \ public: \ decl compatibility_iterator \ { \ private: \ - /* Workaround for broken VC6 nested class name resolution */ \ - typedef std::list::iterator iterator; \ - friend class liT; \ - private: \ + /* Workaround for broken VC6 nested class name resolution */ \ + typedef std::list::iterator iterator; \ + friend class liT; \ + \ iterator m_iter; \ liT * m_list; \ + \ public: \ compatibility_iterator() \ : m_iter(EmptyList.end()), m_list( NULL ) {} \ @@ -338,6 +340,9 @@ private: void Sort( wxSortCompareFunction compfunc ) \ { sort( WX_LIST_SORTFUNCTION( elT, compfunc ) ); } \ ~liT() { Clear(); } \ + \ + /* It needs access to our EmptyList */ \ + friend decl compatibility_iterator; \ } #define WX_DECLARE_LIST(elementtype, listname) \ -- 2.45.2