]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/hash.h
fixing overrelease and out-of-bounds write, fixes #13725
[wxWidgets.git] / include / wx / hash.h
index 32789cdd787c850de1c7dd4578788171ad5d922a..d88d38275b0065b8032c9c21f944dab800723635 100644 (file)
 #include "wx/defs.h"
 #include "wx/string.h"
 
-#if !wxUSE_STL
+#if !wxUSE_STD_CONTAINERS
     #include "wx/object.h"
 #else
-    class WXDLLIMPEXP_BASE wxObject;
+    class WXDLLIMPEXP_FWD_BASE wxObject;
 #endif
 
 // the default size of the hash
@@ -39,12 +39,12 @@ union wxHashKeyValue
 
 // for some compilers (AIX xlC), defining it as friend inside the class is not
 // enough, so provide a real forward declaration
-class WXDLLIMPEXP_BASE wxHashTableBase;
+class WXDLLIMPEXP_FWD_BASE wxHashTableBase;
 
 class WXDLLIMPEXP_BASE wxHashTableBase_Node
 {
-    friend class WXDLLIMPEXP_BASE wxHashTableBase;
-    typedef class WXDLLIMPEXP_BASE wxHashTableBase_Node _Node;
+    friend class WXDLLIMPEXP_FWD_BASE wxHashTableBase;
+    typedef class WXDLLIMPEXP_FWD_BASE wxHashTableBase_Node _Node;
 public:
     wxHashTableBase_Node( long key, void* value,
                           wxHashTableBase* table );
@@ -80,11 +80,11 @@ protected:
 };
 
 class WXDLLIMPEXP_BASE wxHashTableBase
-#if !wxUSE_STL
+#if !wxUSE_STD_CONTAINERS
     : public wxObject
 #endif
 {
-    friend class WXDLLIMPEXP_BASE wxHashTableBase_Node;
+    friend class WXDLLIMPEXP_FWD_BASE wxHashTableBase_Node;
 public:
     typedef wxHashTableBase_Node Node;
 
@@ -150,7 +150,7 @@ protected:
     bool m_deleteContents;
 
 private:
-    DECLARE_NO_COPY_CLASS(wxHashTableBase)
+    wxDECLARE_NO_COPY_CLASS(wxHashTableBase);
 };
 
 // ----------------------------------------------------------------------------
@@ -159,7 +159,7 @@ private:
 
 class WXDLLIMPEXP_BASE wxHashTable_Node : public wxHashTableBase_Node
 {
-    friend class WXDLLIMPEXP_BASE wxHashTable;
+    friend class WXDLLIMPEXP_FWD_BASE wxHashTable;
 public:
     wxHashTable_Node( long key, void* value,
                       wxHashTableBase* table )
@@ -287,7 +287,7 @@ private:
 // and this one does exactly the same thing but should be used inside the
 // library
 #define WX_DECLARE_EXPORTED_HASH(el, list, hash)  \
-    _WX_DECLARE_HASH(el, list, hash, class WXDLLEXPORT)
+    _WX_DECLARE_HASH(el, list, hash, class WXDLLIMPEXP_CORE)
 
 #define WX_DECLARE_USER_EXPORTED_HASH(el, list, hash, usergoo)  \
     _WX_DECLARE_HASH(el, list, hash, class usergoo)