Check for self-assignment in operator=

This commit is contained in:
Paul Cornett
2019-02-25 00:48:41 -08:00
parent 90ecc401c0
commit 60fb8f93cb
2 changed files with 12 additions and 7 deletions

View File

@@ -478,9 +478,12 @@ wxMask::wxMask(const wxMask &mask)
wxMask& wxMask::operator=(const wxMask &mask)
{
delete m_qtBitmap;
QBitmap *mask_bmp = mask.GetHandle();
m_qtBitmap = mask_bmp ? new QBitmap(*mask_bmp) : NULL;
if (this != &mask)
{
delete m_qtBitmap;
QBitmap *mask_bmp = mask.GetHandle();
m_qtBitmap = mask_bmp ? new QBitmap(*mask_bmp) : NULL;
}
return *this;
}

View File

@@ -351,10 +351,12 @@ wxRegionIterator::~wxRegionIterator()
wxRegionIterator& wxRegionIterator::operator=(const wxRegionIterator& ri)
{
delete m_qtRects;
m_qtRects = new QVector< QRect >( *ri.m_qtRects );
m_pos = ri.m_pos;
if (this != &ri)
{
delete m_qtRects;
m_qtRects = new QVector< QRect >( *ri.m_qtRects );
m_pos = ri.m_pos;
}
return *this;
}