summaryrefslogtreecommitdiff
path: root/svtools
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-10-22 09:32:39 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-10-22 12:54:08 +0200
commite5e0cc68f70d35e1849aeaf21c0ce68afd6a1f59 (patch)
treeb4bce95d15819feb2c38e183c3ccdcbab76db60c /svtools
parentfd56d5fd409c832886bf42a020322e69b6a35d9e (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.cxx44
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;
}