check for self-assignment in operator=

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2008-01-09 04:08:33 +00:00
parent c6ed07281f
commit 162e998c2f
12 changed files with 102 additions and 62 deletions

View File

@@ -105,9 +105,12 @@ public:
wxCharTypeBuffer& operator=(const wxCharTypeBuffer& src)
{
if ( m_owned )
free(m_str);
CopyFrom(src);
if (&src != this)
{
if ( m_owned )
free(m_str);
CopyFrom(src);
}
return *this;
}
@@ -317,9 +320,12 @@ public:
wxMemoryBuffer& operator=(const wxMemoryBuffer& src)
{
m_bufdata->DecRef();
m_bufdata = src.m_bufdata;
m_bufdata->IncRef();
if (&src != this)
{
m_bufdata->DecRef();
m_bufdata = src.m_bufdata;
m_bufdata->IncRef();
}
return *this;
}