From 03af437f7586bba182c76ff73e058f8c16fd8e2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Tue, 12 Aug 2008 15:10:57 +0000 Subject: [PATCH] made wxCharTypeBuffer::release() const again, for compatibility git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55067 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/buffer.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/include/wx/buffer.h b/include/wx/buffer.h index 7d362ee841..75b47edd69 100644 --- a/include/wx/buffer.h +++ b/include/wx/buffer.h @@ -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; }