[Libreoffice-commits] core.git: include/svx svx/source
Caolán McNamara
caolanm at redhat.com
Fri Apr 14 11:46:17 UTC 2017
include/svx/sidebar/AreaPropertyPanelBase.hxx | 14 ++--
svx/source/sidebar/area/AreaPropertyPanelBase.cxx | 66 +++++++++++-----------
2 files changed, 40 insertions(+), 40 deletions(-)
New commits:
commit 9a27902bbcfc7455d068167d8abc9645e2687ba1
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Apr 14 12:44:04 2017 +0100
ubsan: only cast when necessary
the item may be INVALID_POOL_ITEM if we're not in the bDefaultOrSet cases
so only cast when we need to
Change-Id: I127d5be0adcc0d3ad5881b2a386b8a2b69e7d3f0
diff --git a/include/svx/sidebar/AreaPropertyPanelBase.hxx b/include/svx/sidebar/AreaPropertyPanelBase.hxx
index 580cbc3e3122..048ee86d97a7 100644
--- a/include/svx/sidebar/AreaPropertyPanelBase.hxx
+++ b/include/svx/sidebar/AreaPropertyPanelBase.hxx
@@ -97,13 +97,13 @@ public:
virtual void setFillStyleAndHatch(const XFillStyleItem* pStyleItem, const XFillHatchItem& aHatchItem) = 0;
virtual void setFillStyleAndBitmap(const XFillStyleItem* pStyleItem, const XFillBitmapItem& aHatchItem) = 0;
- void updateFillTransparence(bool bDisabled, bool bDefaultOrSet, const SfxUInt16Item* pItem);
- void updateFillFloatTransparence(bool bDisabled, bool bDefaultOrSet, const XFillFloatTransparenceItem* pItem);
- void updateFillStyle(bool bDisabled, bool bDefaultOrSet, const XFillStyleItem* pItem);
- void updateFillGradient(bool bDisabled, bool bDefaultOrSet, const XFillGradientItem* pItem);
- void updateFillHatch(bool bDisabled, bool bDefaultOrSet, const XFillHatchItem* pItem);
- void updateFillColor(bool bDefaultOrSet, const XFillColorItem* pItem);
- void updateFillBitmap(bool BDisabled, bool bDefaultOrSet, const XFillBitmapItem* pItem);
+ void updateFillTransparence(bool bDisabled, bool bDefaultOrSet, const SfxPoolItem* pState);
+ void updateFillFloatTransparence(bool bDisabled, bool bDefaultOrSet, const SfxPoolItem* pState);
+ void updateFillStyle(bool bDisabled, bool bDefaultOrSet, const SfxPoolItem* pState);
+ void updateFillGradient(bool bDisabled, bool bDefaultOrSet, const SfxPoolItem* pState);
+ void updateFillHatch(bool bDisabled, bool bDefaultOrSet, const SfxPoolItem* pState);
+ void updateFillColor(bool bDefaultOrSet, const SfxPoolItem* pState);
+ void updateFillBitmap(bool BDisabled, bool bDefaultOrSet, const SfxPoolItem* pState);
protected:
sal_uInt16 meLastXFS;
diff --git a/svx/source/sidebar/area/AreaPropertyPanelBase.cxx b/svx/source/sidebar/area/AreaPropertyPanelBase.cxx
index 53ec1bd87192..036375806806 100644
--- a/svx/source/sidebar/area/AreaPropertyPanelBase.cxx
+++ b/svx/source/sidebar/area/AreaPropertyPanelBase.cxx
@@ -738,17 +738,18 @@ void AreaPropertyPanelBase::ImpUpdateTransparencies()
}
}
-void AreaPropertyPanelBase::updateFillTransparence(bool bDisabled, bool bDefault, const SfxUInt16Item* pItem)
+void AreaPropertyPanelBase::updateFillTransparence(bool bDisabled, bool bDefaultOrSet, const SfxPoolItem* pState)
{
if (bDisabled)
{
mpTransparanceItem.reset();
return;
}
- else if(bDefault)
+ else if (bDefaultOrSet)
{
- if(pItem)
+ if (pState)
{
+ const SfxUInt16Item* pItem = static_cast<const SfxUInt16Item*>(pState);
mpTransparanceItem.reset(static_cast<SfxUInt16Item*>(pItem->Clone()));
}
else
@@ -765,7 +766,7 @@ void AreaPropertyPanelBase::updateFillTransparence(bool bDisabled, bool bDefault
ImpUpdateTransparencies();
}
-void AreaPropertyPanelBase::updateFillFloatTransparence(bool bDisabled, bool bDefault, const XFillFloatTransparenceItem* pItem)
+void AreaPropertyPanelBase::updateFillFloatTransparence(bool bDisabled, bool bDefaultOrSet, const SfxPoolItem* pState)
{
if (bDisabled)
{
@@ -773,10 +774,11 @@ void AreaPropertyPanelBase::updateFillFloatTransparence(bool bDisabled, bool bDe
return;
}
- if(bDefault)
+ if (bDefaultOrSet)
{
- if(pItem)
+ if (pState)
{
+ const XFillFloatTransparenceItem* pItem = static_cast<const XFillFloatTransparenceItem*>(pState);
mpFloatTransparenceItem.reset(static_cast<XFillFloatTransparenceItem*>(pItem->Clone()));
}
else
@@ -793,7 +795,7 @@ void AreaPropertyPanelBase::updateFillFloatTransparence(bool bDisabled, bool bDe
ImpUpdateTransparencies();
}
-void AreaPropertyPanelBase::updateFillStyle(bool bDisabled, bool bDefault, const XFillStyleItem* pItem)
+void AreaPropertyPanelBase::updateFillStyle(bool bDisabled, bool bDefaultOrSet, const SfxPoolItem* pState)
{
if(bDisabled)
{
@@ -807,8 +809,9 @@ void AreaPropertyPanelBase::updateFillStyle(bool bDisabled, bool bDefault, const
meLastXFS = static_cast<sal_uInt16>(-1);
mpStyleItem.reset();
}
- else if(bDefault && pItem)
+ else if (bDefaultOrSet && pState)
{
+ const XFillStyleItem* pItem = static_cast<const XFillStyleItem*>(pState);
mpStyleItem.reset(dynamic_cast< XFillStyleItem* >(pItem->Clone()));
mpLbFillType->Enable();
mpColorTextFT->Enable();
@@ -862,10 +865,11 @@ void AreaPropertyPanelBase::updateFillStyle(bool bDisabled, bool bDefault, const
mpStyleItem.reset();
}
-void AreaPropertyPanelBase::updateFillGradient(bool bDisabled, bool bDefault, const XFillGradientItem* pItem)
+void AreaPropertyPanelBase::updateFillGradient(bool bDisabled, bool bDefaultOrSet, const SfxPoolItem* pState)
{
- if(bDefault)
+ if (bDefaultOrSet)
{
+ const XFillGradientItem* pItem = static_cast<const XFillGradientItem*>(pState);
mpFillGradientItem.reset(pItem ? static_cast<XFillGradientItem*>(pItem->Clone()) : nullptr);
}
@@ -878,7 +882,7 @@ void AreaPropertyPanelBase::updateFillGradient(bool bDisabled, bool bDefault, co
mpGradientStyle->Show();
mpToolBoxColor->Hide();
- if(bDefault)
+ if (bDefaultOrSet)
{
mpLbFillType->SelectEntryPos(GRADIENT);
Update();
@@ -900,10 +904,11 @@ void AreaPropertyPanelBase::updateFillGradient(bool bDisabled, bool bDefault, co
}
}
-void AreaPropertyPanelBase::updateFillHatch(bool bDisabled, bool bDefault, const XFillHatchItem* pItem)
+void AreaPropertyPanelBase::updateFillHatch(bool bDisabled, bool bDefaultOrSet, const SfxPoolItem* pState)
{
- if(bDefault)
+ if (bDefaultOrSet)
{
+ const XFillHatchItem* pItem = static_cast<const XFillHatchItem*>(pState);
mpHatchItem.reset(pItem ? static_cast<XFillHatchItem*>(pItem->Clone()) : nullptr);
}
@@ -912,7 +917,7 @@ void AreaPropertyPanelBase::updateFillHatch(bool bDisabled, bool bDefault, const
mpLbFillAttr->Show();
mpToolBoxColor->Hide();
- if(bDefault)
+ if (bDefaultOrSet)
{
mpLbFillAttr->Enable();
mpLbFillType->SelectEntryPos(HATCH);
@@ -930,10 +935,11 @@ void AreaPropertyPanelBase::updateFillHatch(bool bDisabled, bool bDefault, const
}
}
-void AreaPropertyPanelBase::updateFillColor(bool bDefault, const XFillColorItem* pItem)
+void AreaPropertyPanelBase::updateFillColor(bool bDefaultOrSet, const SfxPoolItem* pState)
{
- if(bDefault)
+ if (bDefaultOrSet)
{
+ const XFillColorItem* pItem = static_cast<const XFillColorItem*>(pState);
mpColorItem.reset(pItem ? static_cast<XFillColorItem*>(pItem->Clone()) : nullptr);
}
@@ -946,10 +952,11 @@ void AreaPropertyPanelBase::updateFillColor(bool bDefault, const XFillColorItem*
}
}
-void AreaPropertyPanelBase::updateFillBitmap(bool bDisabled, bool bDefault, const XFillBitmapItem* pItem)
+void AreaPropertyPanelBase::updateFillBitmap(bool bDisabled, bool bDefaultOrSet, const SfxPoolItem* pState)
{
- if(bDefault)
+ if (bDefaultOrSet)
{
+ const XFillBitmapItem* pItem = static_cast<const XFillBitmapItem*>(pState);
mpBitmapItem.reset(pItem ? static_cast<XFillBitmapItem*>(pItem->Clone()) : nullptr);
}
@@ -958,7 +965,7 @@ void AreaPropertyPanelBase::updateFillBitmap(bool bDisabled, bool bDefault, cons
mpLbFillAttr->Show();
mpToolBoxColor->Hide();
- if(bDefault)
+ if (bDefaultOrSet)
{
if(mpBitmapItem->isPattern())
mpLbFillType->SelectEntryPos(PATTERN);
@@ -991,32 +998,25 @@ void AreaPropertyPanelBase::NotifyItemUpdate(
switch(nSID)
{
case SID_ATTR_FILL_TRANSPARENCE:
- updateFillTransparence(bDisabled, bDefaultOrSet,
- static_cast<const SfxUInt16Item*>(pState));
+ updateFillTransparence(bDisabled, bDefaultOrSet, pState);
break;
case SID_ATTR_FILL_FLOATTRANSPARENCE:
- updateFillFloatTransparence(bDisabled, bDefaultOrSet,
- static_cast<const XFillFloatTransparenceItem*>(pState));
+ updateFillFloatTransparence(bDisabled, bDefaultOrSet, pState);
break;
case SID_ATTR_FILL_STYLE:
- updateFillStyle(bDisabled, bDefaultOrSet,
- static_cast<const XFillStyleItem*>(pState));
+ updateFillStyle(bDisabled, bDefaultOrSet, pState);
break;
case SID_ATTR_FILL_COLOR:
- updateFillColor(bDefaultOrSet,
- static_cast<const XFillColorItem*>(pState));
+ updateFillColor(bDefaultOrSet, pState);
break;
case SID_ATTR_FILL_GRADIENT:
- updateFillGradient(bDisabled, bDefaultOrSet,
- static_cast<const XFillGradientItem*>(pState));
+ updateFillGradient(bDisabled, bDefaultOrSet, pState);
break;
case SID_ATTR_FILL_HATCH:
- updateFillHatch(bDisabled, bDefaultOrSet,
- static_cast<const XFillHatchItem*>(pState));
+ updateFillHatch(bDisabled, bDefaultOrSet, pState);
break;
case SID_ATTR_FILL_BITMAP:
- updateFillBitmap(bDisabled, bDefaultOrSet,
- static_cast<const XFillBitmapItem*>(pState));
+ updateFillBitmap(bDisabled, bDefaultOrSet, pState);
break;
case SID_GRADIENT_LIST:
{
More information about the Libreoffice-commits
mailing list