check for self assignment in operator=

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett 2008-11-16 18:03:08 +00:00
parent 5c69ef61f3
commit a09307abba
5 changed files with 22 additions and 12 deletions

View File

@ -175,7 +175,7 @@ public:
// assorted assignment operators
wxFileName& operator=(const wxFileName& filename)
{ Assign(filename); return *this; }
{ if (this != &filename) Assign(filename); return *this; }
wxFileName& operator=(const wxString& filename)
{ Assign(filename); return *this; }

View File

@ -126,7 +126,8 @@ public:
#ifndef SWIG
void operator=(const wxColourPropertyValue& cpv)
{
Init( cpv.m_type, cpv.m_colour );
if (this != &cpv)
Init( cpv.m_type, cpv.m_colour );
}
private:
@ -289,9 +290,10 @@ public:
const wxColour& value = *wxWHITE );
virtual ~wxColourProperty();
protected:
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
virtual wxColour GetColour( int index ) const;
protected:
virtual wxVariant DoTranslateVal( wxColourPropertyValue& v ) const;
private:

View File

@ -322,7 +322,7 @@ public:
data->IncRef();
variant.SetData(data);
variant.SetName(it->first);
it++;
++it;
return true;
}
@ -992,7 +992,8 @@ public:
#ifndef SWIG
void operator= (const wxPGChoices& a)
{
AssignData(a.m_data);
if (this != &a)
AssignData(a.m_data);
}
wxPGChoiceEntry& operator[](unsigned int i)
@ -2355,9 +2356,9 @@ public:
int GetTextExtent( const wxWindow* wnd, const wxFont& font ) const;
protected:
virtual wxString ValueToString( wxVariant& value, int argFlags ) const;
protected:
void SetTextColIndex( unsigned int colInd )
{ m_capFgColIndex = (wxByte) colInd; }
unsigned int GetTextColIndex() const

View File

@ -234,7 +234,8 @@ private:
} \
const CLASS& operator=( const CLASS& it ) \
{ \
Assign(it); \
if (this != &it) \
Assign(it); \
return *this; \
} \
CLASS& operator++() { Next(); return *this; } \
@ -359,9 +360,12 @@ public:
#ifndef SWIG
const wxPGVIterator& operator=( const wxPGVIterator& it )
{
UnRef();
m_pIt = it.m_pIt;
m_pIt->IncRef();
if (this != &it)
{
UnRef();
m_pIt = it.m_pIt;
m_pIt->IncRef();
}
return *this;
}
#endif

View File

@ -230,8 +230,11 @@ public:
wxVector& operator=(const wxVector& vb)
{
clear();
Copy(vb);
if (this != &vb)
{
clear();
Copy(vb);
}
return *this;
}