]> git.saurik.com Git - wxWidgets.git/commitdiff
added check for self-assignment to wxPrintData::operator=() (thanks HP aCC for a...
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 12 Nov 2008 14:34:40 +0000 (14:34 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 12 Nov 2008 14:34:40 +0000 (14:34 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/cmndata.h
src/common/cmndata.cpp

index 1ec6859ecbe8c5e2336f5283104cc2cca861b2cf..31269412d8b4f96231e8f610a3c5194d4ac397e9 100644 (file)
@@ -228,7 +228,7 @@ public:
     wxString GetFilename() const { return m_filename; }
     void SetFilename( const wxString &filename ) { m_filename = filename; }
 
-    void operator=(const wxPrintData& data);
+    wxPrintData& operator=(const wxPrintData& data);
 
     char* GetPrivData() const { return m_privData; }
     int GetPrivDataLen() const { return m_privDataLen; }
index 8c1309a9df952f079f430eed5cfcd299cec87b10..4a02c492980384c4f437b4bf5bcb5a97a790f58d 100644 (file)
@@ -256,8 +256,11 @@ void wxPrintData::ConvertFromNative()
     m_nativeData->TransferTo( *this ) ;
 }
 
-void wxPrintData::operator=(const wxPrintData& data)
+wxPrintData& wxPrintData::operator=(const wxPrintData& data)
 {
+    if ( &data == this )
+        return *this;
+
     m_printNoCopies = data.m_printNoCopies;
     m_printCollate = data.m_printCollate;
     m_printOrientation = data.m_printOrientation;
@@ -295,6 +298,8 @@ void wxPrintData::operator=(const wxPrintData& data)
         m_privData = new char[m_privDataLen];
         memcpy( m_privData, data.GetPrivData(), m_privDataLen );
     }
+
+    return *this;
 }
 
 // Is this data OK for showing the print dialog?