summaryrefslogtreecommitdiff
path: root/dbaccess
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 /dbaccess
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 'dbaccess')
-rw-r--r--dbaccess/source/ui/dlg/DbAdminImpl.cxx4
-rw-r--r--dbaccess/source/ui/dlg/optionalboolitem.cxx7
-rw-r--r--dbaccess/source/ui/misc/stringlistitem.cxx6
3 files changed, 8 insertions, 9 deletions
diff --git a/dbaccess/source/ui/dlg/DbAdminImpl.cxx b/dbaccess/source/ui/dlg/DbAdminImpl.cxx
index 3ceeda28c9ca..30037f1bbdf4 100644
--- a/dbaccess/source/ui/dlg/DbAdminImpl.cxx
+++ b/dbaccess/source/ui/dlg/DbAdminImpl.cxx
@@ -1064,8 +1064,8 @@ DbuTypeCollectionItem::DbuTypeCollectionItem(const DbuTypeCollectionItem& _rSour
bool DbuTypeCollectionItem::operator==(const SfxPoolItem& _rItem) const
{
- const DbuTypeCollectionItem* pCompare = dynamic_cast<const DbuTypeCollectionItem*>( &_rItem );
- return pCompare && (pCompare->getCollection() == getCollection());
+ return SfxPoolItem::operator==(_rItem) &&
+ static_cast<const DbuTypeCollectionItem&>( _rItem ).getCollection() == getCollection();
}
SfxPoolItem* DbuTypeCollectionItem::Clone(SfxItemPool* /*_pPool*/) const
diff --git a/dbaccess/source/ui/dlg/optionalboolitem.cxx b/dbaccess/source/ui/dlg/optionalboolitem.cxx
index 7fa87c72107b..b0b4aff525b1 100644
--- a/dbaccess/source/ui/dlg/optionalboolitem.cxx
+++ b/dbaccess/source/ui/dlg/optionalboolitem.cxx
@@ -31,11 +31,8 @@ namespace dbaui
bool OptionalBoolItem::operator==( const SfxPoolItem& _rItem ) const
{
- const OptionalBoolItem* pCompare = dynamic_cast<const OptionalBoolItem*>( &_rItem );
- if ( !pCompare )
- return false;
-
- return m_aValue == pCompare->m_aValue;
+ return SfxPoolItem::operator==(_rItem) &&
+ static_cast<const OptionalBoolItem&>( _rItem ).m_aValue == m_aValue;
}
SfxPoolItem* OptionalBoolItem::Clone( SfxItemPool* /*_pPool*/ ) const
diff --git a/dbaccess/source/ui/misc/stringlistitem.cxx b/dbaccess/source/ui/misc/stringlistitem.cxx
index fb865df54bb4..1d821edd2076 100644
--- a/dbaccess/source/ui/misc/stringlistitem.cxx
+++ b/dbaccess/source/ui/misc/stringlistitem.cxx
@@ -39,8 +39,10 @@ OStringListItem::OStringListItem(const OStringListItem& _rSource)
bool OStringListItem::operator==(const SfxPoolItem& _rItem) const
{
- const OStringListItem* pCompare = dynamic_cast<const OStringListItem*>( &_rItem );
- if ((!pCompare) || (pCompare->m_aList.getLength() != m_aList.getLength()))
+ if (!SfxPoolItem::operator==(_rItem))
+ return false;
+ const OStringListItem* pCompare = static_cast<const OStringListItem*>( &_rItem );
+ if (pCompare->m_aList.getLength() != m_aList.getLength())
return false;
// compare all strings individually