]> git.saurik.com Git - wxWidgets.git/commitdiff
check for self assignment in operator=
authorPaul Cornett <paulcor@bullseye.com>
Sun, 16 Nov 2008 18:03:08 +0000 (18:03 +0000)
committerPaul Cornett <paulcor@bullseye.com>
Sun, 16 Nov 2008 18:03:08 +0000 (18:03 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/filename.h
include/wx/propgrid/advprops.h
include/wx/propgrid/property.h
include/wx/propgrid/propgridpagestate.h
include/wx/vector.h

index 2cc5c75b8de7ab2f50a22f5a112fc1150fe9aec5..2887a3121b7bc0fd491f4a04ae4ada3a2a574853 100644 (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; }
index 22ae110b34074c65785be6dc564d3cbcddc9bf59..bb02c2eaea4560989ad8979d6bb70e4fa6e0c6b8 100644 (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:
index be9739e6fcc066a8f1d2b4c71224df12062afcd2..7c329b7d1c4fca1d7980a27f773f37431cc0d586 100644 (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
index 64a2475d2d2d560e139654456c36950fe072c835..f8953663895c8ecb28f5c468308c89f953587791 100644 (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
index 898a0cc3996e7c77fc61ccd82797b217b697a0bd..64b37b9885c5e371a0665d9ff30a2e9a32fe7392 100644 (file)
@@ -230,8 +230,11 @@ public:
 
     wxVector& operator=(const wxVector& vb)
     {
-        clear();
-        Copy(vb);
+        if (this != &vb)
+        {
+            clear();
+            Copy(vb);
+        }
         return *this;
     }