From: Paul Cornett Date: Wed, 2 Dec 2009 16:36:50 +0000 (+0000) Subject: check for self assignment in operator= X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/2a32b8071b301260644a8ac0286797197e3d0ebb check for self assignment in operator= git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/any.h b/include/wx/any.h index b99e84bb99..26f36e7c68 100644 --- a/include/wx/any.h +++ b/include/wx/any.h @@ -663,7 +663,8 @@ public: */ wxAny& operator=(const wxAny &any) { - AssignAny(any); + if (this != &any) + AssignAny(any); return *this; } diff --git a/include/wx/osx/core/cfref.h b/include/wx/osx/core/cfref.h index eb6adeeee0..cb4f636498 100644 --- a/include/wx/osx/core/cfref.h +++ b/include/wx/osx/core/cfref.h @@ -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; } diff --git a/include/wx/private/sckaddr.h b/include/wx/private/sckaddr.h index 7babad5a8b..a0e0ec4ee1 100644 --- a/include/wx/private/sckaddr.h +++ b/include/wx/private/sckaddr.h @@ -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; }