X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c797aec4b941dcf288398dc1f132744ebe840817..6edd8829ef3d6f29a73590d99abb121942e77100:/include/wx/object.h?ds=sidebyside diff --git a/include/wx/object.h b/include/wx/object.h index 9ef6b83b33..3b57f5425f 100644 --- a/include/wx/object.h +++ b/include/wx/object.h @@ -69,7 +69,6 @@ class WXDLLIMPEXP_FWD_BASE wxClassInfo; class WXDLLIMPEXP_FWD_BASE wxHashTable; class WXDLLIMPEXP_FWD_BASE wxObject; class WXDLLIMPEXP_FWD_BASE wxPluginLibrary; -class WXDLLIMPEXP_FWD_BASE wxObjectRefData; class WXDLLIMPEXP_FWD_BASE wxHashTable_Node; // ---------------------------------------------------------------------------- @@ -399,13 +398,13 @@ inline T *wxCheckCast(const void *ptr, T * = NULL) #endif // wxUSE_MEMORY_TRACING // ---------------------------------------------------------------------------- -// wxObjectRefData: ref counted data meant to be stored in wxObject +// wxRefCounter: ref counted data "manager" // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_BASE wxObjectRefData +class WXDLLIMPEXP_BASE wxRefCounter { public: - wxObjectRefData() { m_count = 1; } + wxRefCounter() { m_count = 1; } int GetRefCount() const { return m_count; } @@ -415,15 +414,20 @@ public: protected: // this object should never be destroyed directly but only as a // result of a DecRef() call: - virtual ~wxObjectRefData() { } + virtual ~wxRefCounter() { } private: // our refcount: int m_count; - - friend class WXDLLIMPEXP_FWD_BASE wxObject; }; +// ---------------------------------------------------------------------------- +// wxObjectRefData: ref counted data meant to be stored in wxObject +// ---------------------------------------------------------------------------- + +typedef wxRefCounter wxObjectRefData; + + // ---------------------------------------------------------------------------- // wxObjectDataPtr: helper class to avoid memleaks because of missing calls // to wxObjectRefData::DecRef @@ -518,7 +522,7 @@ public: { m_refData = other.m_refData; if (m_refData) - m_refData->m_count++; + m_refData->IncRef(); } wxObject& operator=(const wxObject& other)