added check for self-assignment to wxPrintData::operator=() (thanks HP aCC for a genuinely useful warning) and also changed it return type to the standard one instead of void

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-11-12 14:34:40 +00:00
parent d31d30d791
commit 83666e9909
2 changed files with 7 additions and 2 deletions

View File

@@ -228,7 +228,7 @@ public:
wxString GetFilename() const { return m_filename; } wxString GetFilename() const { return m_filename; }
void SetFilename( const wxString &filename ) { m_filename = 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; } char* GetPrivData() const { return m_privData; }
int GetPrivDataLen() const { return m_privDataLen; } int GetPrivDataLen() const { return m_privDataLen; }

View File

@@ -256,8 +256,11 @@ void wxPrintData::ConvertFromNative()
m_nativeData->TransferTo( *this ) ; 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_printNoCopies = data.m_printNoCopies;
m_printCollate = data.m_printCollate; m_printCollate = data.m_printCollate;
m_printOrientation = data.m_printOrientation; m_printOrientation = data.m_printOrientation;
@@ -295,6 +298,8 @@ void wxPrintData::operator=(const wxPrintData& data)
m_privData = new char[m_privDataLen]; m_privData = new char[m_privDataLen];
memcpy( m_privData, data.GetPrivData(), m_privDataLen ); memcpy( m_privData, data.GetPrivData(), m_privDataLen );
} }
return *this;
} }
// Is this data OK for showing the print dialog? // Is this data OK for showing the print dialog?