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,6 +126,7 @@ public:
#ifndef SWIG
void operator=(const wxColourPropertyValue& cpv)
{
if (this != &cpv)
Init( cpv.m_type, cpv.m_colour );
}
@@ -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,6 +992,7 @@ public:
#ifndef SWIG
void operator= (const wxPGChoices& a)
{
if (this != &a)
AssignData(a.m_data);
}
@@ -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,6 +234,7 @@ private:
} \
const CLASS& operator=( const CLASS& it ) \
{ \
if (this != &it) \
Assign(it); \
return *this; \
} \
@@ -358,10 +359,13 @@ public:
}
#ifndef SWIG
const wxPGVIterator& operator=( const wxPGVIterator& it )
{
if (this != &it)
{
UnRef();
m_pIt = it.m_pIt;
m_pIt->IncRef();
}
return *this;
}
#endif

View File

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