]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/object.cpp
Further correction in case where string value is omitted
[wxWidgets.git] / src / common / object.cpp
index 0a77aab57b8ee2a0514885b5769f73470ab634d2..0289fc2ec6d58db54a23d7c5a9f47024fef4464a 100644 (file)
@@ -289,6 +289,17 @@ wxObject *wxCreateDynamicObject(const wxChar *name)
 }
 
 
+// ----------------------------------------------------------------------------
+// wxObjectRefData
+// ----------------------------------------------------------------------------
+
+void wxObjectRefData::DecRef()
+{
+    if ( --m_count == 0 )
+        delete this;
+}
+
+
 // ----------------------------------------------------------------------------
 // wxObject
 // ----------------------------------------------------------------------------
@@ -310,7 +321,7 @@ void wxObject::Ref(const wxObject& clone)
     if ( clone.m_refData )
     {
         m_refData = clone.m_refData;
-        ++(m_refData->m_count);
+        m_refData->IncRef();
     }
 }
 
@@ -320,8 +331,7 @@ void wxObject::UnRef()
     {
         wxASSERT_MSG( m_refData->m_count > 0, _T("invalid ref data count") );
 
-        if ( --m_refData->m_count == 0 )
-            delete m_refData;
+        m_refData->DecRef();
         m_refData = NULL;
     }
 }