check for self assignment in operator=

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2009-12-02 16:36:50 +00:00
parent 46b8d15a67
commit 2a32b8071b
3 changed files with 13 additions and 8 deletions

View File

@@ -663,7 +663,8 @@ public:
*/
wxAny& operator=(const wxAny &any)
{
AssignAny(any);
if (this != &any)
AssignAny(any);
return *this;
}

View File

@@ -234,9 +234,12 @@ public:
*/
wxCFRef& operator=(const wxCFRef& otherRef)
{
wxCFRetain(otherRef.m_ptr);
wxCFRelease(m_ptr);
m_ptr = otherRef.m_ptr;
if (this != &otherRef)
{
wxCFRetain(otherRef.m_ptr);
wxCFRelease(m_ptr);
m_ptr = otherRef.m_ptr;
}
return *this;
}

View File

@@ -137,10 +137,11 @@ public:
wxSockAddressImpl& operator=(const wxSockAddressImpl& other)
{
free(m_addr);
InitFromOther(other);
if (this != &other)
{
free(m_addr);
InitFromOther(other);
}
return *this;
}