]> git.saurik.com Git - wxWidgets.git/commitdiff
made wxCharTypeBuffer<T>::release() const again, for compatibility
authorVáclav Slavík <vslavik@fastmail.fm>
Tue, 12 Aug 2008 15:10:57 +0000 (15:10 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Tue, 12 Aug 2008 15:10:57 +0000 (15:10 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55067 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/buffer.h

index 7d362ee841a5f95cc7ec883bbdd04ad6d8239411..75b47edd693706ca40fbc5e0821e9dbaabf05845 100644 (file)
@@ -59,7 +59,10 @@ public:
         DecRef();
     }
 
-    CharType *release()
+    // NB: this method is only const for backward compatibility. It used to
+    //     be needed for auto_ptr-like semantics of the copy ctor, but now
+    //     that ref-counting is used, it's not really needed.
+    CharType *release() const
     {
         if ( m_data == &NullData )
             return NULL;
@@ -68,8 +71,11 @@ public:
         wxASSERT_MSG( m_data->m_ref == 1, _T("can't release shared buffer") );
 
         CharType *p = m_data->m_str;
-        m_data->m_str = NULL;
-        DecRef();
+
+        wxCharTypeBuffer *self = wx_const_cast(wxCharTypeBuffer*, this);
+        self->m_data->m_str = NULL;
+        self->DecRef();
+
         return p;
     }