X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/30a29593e8c023cd2a200c1fdaac594c19264ac0..32b4e9ecd77e106fcbadc95e0671c611b136456a:/include/wx/listimpl.cpp

diff --git a/include/wx/listimpl.cpp b/include/wx/listimpl.cpp
index 7f3cdb7d18..1027f4eaab 100644
--- a/include/wx/listimpl.cpp
+++ b/include/wx/listimpl.cpp
@@ -11,16 +11,17 @@
 
 #if wxUSE_STL
 
-    #undef  WX_DEFINE_LIST
-    #define WX_DEFINE_LIST(name)                                                   \
-        void _WX_LIST_HELPER_##name::DeleteFunction( _WX_LIST_ITEM_TYPE_##name X ) \
-        {                                                                          \
-            delete X;                                                              \
-        }
-
-#else // if !wxUSE_STL
-
-    #define _DEFINE_LIST(T, name)         \
+#undef  WX_DEFINE_LIST
+#define WX_DEFINE_LIST(name)                                                  \
+    void _WX_LIST_HELPER_##name::DeleteFunction( _WX_LIST_ITEM_TYPE_##name X )\
+    {                                                                         \
+        delete X;                                                             \
+    }                                                                         \
+    name::BaseListType name::EmptyList;
+
+#else // !wxUSE_STL
+    #undef WX_DEFINE_LIST_2
+    #define WX_DEFINE_LIST_2(T, name)     \
         void wx##name##Node::DeleteData() \
         {                                 \
             delete (T *)GetData();        \
@@ -29,10 +30,7 @@
     // redefine the macro so that now it will generate the class implementation
     // old value would provoke a compile-time error if this file is not included
     #undef  WX_DEFINE_LIST
-    #define WX_DEFINE_LIST(name) _DEFINE_LIST(_WX_LIST_ITEM_TYPE_##name, name)
-
-    // don't pollute preprocessor's name space
-    //#undef  _DEFINE_LIST
+    #define WX_DEFINE_LIST(name) WX_DEFINE_LIST_2(_WX_LIST_ITEM_TYPE_##name, name)
 
-#endif
+#endif // wxUSE_STL/!wxUSE_STL