diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-10-22 09:32:39 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-10-22 12:54:08 +0200 |
commit | e5e0cc68f70d35e1849aeaf21c0ce68afd6a1f59 (patch) | |
tree | b4bce95d15819feb2c38e183c3ccdcbab76db60c /svtools | |
parent | fd56d5fd409c832886bf42a020322e69b6a35d9e (diff) |
pvs-studio: V794 The assignment operator should be protected
Change-Id: Ia443a0e61a091d877c8da26bf7d45bf4261f8669
Reviewed-on: https://gerrit.libreoffice.org/62166
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'svtools')
-rw-r--r-- | svtools/source/misc/imap.cxx | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/svtools/source/misc/imap.cxx b/svtools/source/misc/imap.cxx index 4e23ef612173..0a2739f7eb4c 100644 --- a/svtools/source/misc/imap.cxx +++ b/svtools/source/misc/imap.cxx @@ -624,35 +624,37 @@ void ImageMap::ClearImageMap() ImageMap& ImageMap::operator=( const ImageMap& rImageMap ) { - size_t nCount = rImageMap.GetIMapObjectCount(); - - ClearImageMap(); - - for ( size_t i = 0; i < nCount; i++ ) + if (this != &rImageMap) { - IMapObject* pCopyObj = rImageMap.GetIMapObject( i ); + size_t nCount = rImageMap.GetIMapObjectCount(); - switch( pCopyObj->GetType() ) + ClearImageMap(); + + for ( size_t i = 0; i < nCount; i++ ) { - case IMAP_OBJ_RECTANGLE: - maList.emplace_back( new IMapRectangleObject( *static_cast<IMapRectangleObject*>(pCopyObj) ) ); - break; + IMapObject* pCopyObj = rImageMap.GetIMapObject( i ); - case IMAP_OBJ_CIRCLE: - maList.emplace_back( new IMapCircleObject( *static_cast<IMapCircleObject*>(pCopyObj) ) ); - break; + switch( pCopyObj->GetType() ) + { + case IMAP_OBJ_RECTANGLE: + maList.emplace_back( new IMapRectangleObject( *static_cast<IMapRectangleObject*>(pCopyObj) ) ); + break; - case IMAP_OBJ_POLYGON: - maList.emplace_back( new IMapPolygonObject( *static_cast<IMapPolygonObject*>(pCopyObj) ) ); - break; + case IMAP_OBJ_CIRCLE: + maList.emplace_back( new IMapCircleObject( *static_cast<IMapCircleObject*>(pCopyObj) ) ); + break; - default: - break; - } - } + case IMAP_OBJ_POLYGON: + maList.emplace_back( new IMapPolygonObject( *static_cast<IMapPolygonObject*>(pCopyObj) ) ); + break; - aName = rImageMap.aName; + default: + break; + } + } + aName = rImageMap.aName; + } return *this; } |