summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2019-10-05 13:32:10 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-10-06 11:58:50 +0200
commit6a789e617ed07bfddc516c8fc0cf94cd6dfe7250 (patch)
tree11d6097893a301ae65cf4668077134ac7510091a /svx
parent070b3a848d6824ea154ae2d68fc7571feed60a5f (diff)
improve SfxPoolItem operator== implementations
(*) make them all call the superclass operator== (*) make the base class check which and typeid to ensure we are only comparing the safe subclasses together (*) remove a couple of operator== that were not doing anything useful Change-Id: Ia6234aed42df04157a5d6a323dc951916a9cb316 Reviewed-on: https://gerrit.libreoffice.org/80308 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx')
-rw-r--r--svx/source/dialog/svxgrahicitem.cxx2
-rw-r--r--svx/source/items/clipfmtitem.cxx2
-rw-r--r--svx/source/items/ofaitem.cxx3
-rw-r--r--svx/source/xoutdev/xattr2.cxx2
4 files changed, 6 insertions, 3 deletions
diff --git a/svx/source/dialog/svxgrahicitem.cxx b/svx/source/dialog/svxgrahicitem.cxx
index 4a036ed5dd7f..27691c1ada3f 100644
--- a/svx/source/dialog/svxgrahicitem.cxx
+++ b/svx/source/dialog/svxgrahicitem.cxx
@@ -28,7 +28,7 @@ SvxGraphicItem::SvxGraphicItem( const Graphic& rGraphic )
bool SvxGraphicItem::operator==( const SfxPoolItem& rItem) const
{
- return static_cast<const SvxGraphicItem&>(rItem).aGraphic == aGraphic;
+ return SfxPoolItem::operator==(rItem) && static_cast<const SvxGraphicItem&>(rItem).aGraphic == aGraphic;
}
SfxPoolItem* SvxGraphicItem::Clone( SfxItemPool * ) const
diff --git a/svx/source/items/clipfmtitem.cxx b/svx/source/items/clipfmtitem.cxx
index 0a6df479f980..a9d1a0931062 100644
--- a/svx/source/items/clipfmtitem.cxx
+++ b/svx/source/items/clipfmtitem.cxx
@@ -87,6 +87,8 @@ bool SvxClipboardFormatItem::PutValue( const css::uno::Any& rVal, sal_uInt8 /*nM
bool SvxClipboardFormatItem::operator==( const SfxPoolItem& rComp ) const
{
+ if (!SfxPoolItem::operator==(rComp))
+ return false;
const SvxClipboardFormatItem& rCmp = static_cast<const SvxClipboardFormatItem&>(rComp);
if(rCmp.pImpl->aFmtNms.size() != pImpl->aFmtNms.size())
return false;
diff --git a/svx/source/items/ofaitem.cxx b/svx/source/items/ofaitem.cxx
index 6d487ee6b52e..4e0e6ac82209 100644
--- a/svx/source/items/ofaitem.cxx
+++ b/svx/source/items/ofaitem.cxx
@@ -28,7 +28,8 @@ OfaPtrItem::OfaPtrItem( sal_uInt16 _nWhich, void *_pPtr )
bool OfaPtrItem::operator==( const SfxPoolItem& rItem) const
{
- return static_cast<const OfaPtrItem&>(rItem).pPtr == pPtr;
+ return SfxPoolItem::operator==(rItem) &&
+ static_cast<const OfaPtrItem&>(rItem).pPtr == pPtr;
}
SfxPoolItem* OfaPtrItem::Clone( SfxItemPool * ) const
diff --git a/svx/source/xoutdev/xattr2.cxx b/svx/source/xoutdev/xattr2.cxx
index 0d0d228249eb..6a59871ce1d2 100644
--- a/svx/source/xoutdev/xattr2.cxx
+++ b/svx/source/xoutdev/xattr2.cxx
@@ -203,7 +203,7 @@ bool AffineMatrixItem::operator==(const SfxPoolItem& rRef) const
return false;
}
- const AffineMatrixItem* pRef = dynamic_cast< const AffineMatrixItem* >(&rRef);
+ const AffineMatrixItem* pRef = static_cast< const AffineMatrixItem* >(&rRef);
if(!pRef)
{