[Libreoffice-commits] core.git: cui/source
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Thu Jul 9 12:48:45 UTC 2020
cui/source/tabpages/border.cxx | 40 ++++++++++++++++++++++++++--------------
1 file changed, 26 insertions(+), 14 deletions(-)
New commits:
commit e8a86811c59c173b331e521879085beab895e5ce
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Jul 9 10:08:17 2020 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Jul 9 14:47:39 2020 +0200
cid#1465232 Dereference null return value
Change-Id: I221af4bce9c5cadabef0acb27177e5bf91f08cd1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98411
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/cui/source/tabpages/border.cxx b/cui/source/tabpages/border.cxx
index 82f9b6c3e0ab..eb72e3417a42 100644
--- a/cui/source/tabpages/border.cxx
+++ b/cui/source/tabpages/border.cxx
@@ -847,35 +847,47 @@ bool SvxBorderTabPage::FillItemSet( SfxItemSet* rCoreAttrs )
if (m_aFrameSel.IsBorderEnabled(svx::FrameBorderType::TLBR))
{
sal_uInt16 nBorderDiagId = pPool->GetWhich(SID_ATTR_BORDER_DIAG_TLBR);
- SvxLineItem aLineItem(*static_cast<const SvxLineItem*>(rCoreAttrs->GetItem(nBorderDiagId)));
- aLineItem.SetLine(m_aFrameSel.GetFrameBorderStyle(svx::FrameBorderType::TLBR));
- rCoreAttrs->Put(aLineItem);
- bAttrsChanged = true;
+ if (const SfxPoolItem* pItem = rCoreAttrs->GetItem(nBorderDiagId))
+ {
+ SvxLineItem aLineItem(*static_cast<const SvxLineItem*>(pItem));
+ aLineItem.SetLine(m_aFrameSel.GetFrameBorderStyle(svx::FrameBorderType::TLBR));
+ rCoreAttrs->Put(aLineItem);
+ bAttrsChanged = true;
+ }
}
if (m_aFrameSel.IsBorderEnabled(svx::FrameBorderType::BLTR))
{
sal_uInt16 nBorderDiagId = pPool->GetWhich(SID_ATTR_BORDER_DIAG_BLTR);
- SvxLineItem aLineItem(*static_cast<const SvxLineItem*>(rCoreAttrs->GetItem(nBorderDiagId)));
- aLineItem.SetLine(m_aFrameSel.GetFrameBorderStyle(svx::FrameBorderType::BLTR));
- rCoreAttrs->Put(aLineItem);
- bAttrsChanged = true;
+ if (const SfxPoolItem* pItem = rCoreAttrs->GetItem(nBorderDiagId))
+ {
+ SvxLineItem aLineItem(*static_cast<const SvxLineItem*>(pItem));
+ aLineItem.SetLine(m_aFrameSel.GetFrameBorderStyle(svx::FrameBorderType::BLTR));
+ rCoreAttrs->Put(aLineItem);
+ bAttrsChanged = true;
+ }
}
if (m_xShadowControls && m_xShadowControls->get_value_changed_from_saved())
{
sal_uInt16 nShadowId = pPool->GetWhich(mnShadowSlot);
- const SvxShadowItem& rOldShadowItem = *static_cast<const SvxShadowItem*>(rCoreAttrs->GetItem(nShadowId));
- rCoreAttrs->Put(m_xShadowControls->GetControlValue(rOldShadowItem));
- bAttrsChanged = true;
+ if (const SfxPoolItem* pItem = rCoreAttrs->GetItem(nShadowId))
+ {
+ const SvxShadowItem& rOldShadowItem = *static_cast<const SvxShadowItem*>(pItem);
+ rCoreAttrs->Put(m_xShadowControls->GetControlValue(rOldShadowItem));
+ bAttrsChanged = true;
+ }
}
if (m_xMarginControls && m_xMarginControls->get_value_changed_from_saved())
{
sal_uInt16 nAlignMarginId = pPool->GetWhich(SID_ATTR_ALIGN_MARGIN);
- const SvxMarginItem& rOldMarginItem = *static_cast<const SvxMarginItem*>(rCoreAttrs->GetItem(nAlignMarginId));
- rCoreAttrs->Put(m_xMarginControls->GetControlValue(rOldMarginItem));
- bAttrsChanged = true;
+ if (const SfxPoolItem* pItem = rCoreAttrs->GetItem(nAlignMarginId))
+ {
+ const SvxMarginItem& rOldMarginItem = *static_cast<const SvxMarginItem*>(pItem);
+ rCoreAttrs->Put(m_xMarginControls->GetControlValue(rOldMarginItem));
+ bAttrsChanged = true;
+ }
}
if (m_xMergeAdjacentBordersCB->get_state_changed_from_saved())
More information about the Libreoffice-commits
mailing list