From ae7131ecd8596ef16dd4c2f86abb830a78a602ce Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Tue, 16 Jul 2019 12:03:54 +0100 Subject: cid#1448540 Dereference null return value MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I675a19c19ef64480b5414d9b2bb7a5387533dc4a Reviewed-on: https://gerrit.libreoffice.org/75714 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- sw/source/uibase/uiview/viewtab.cxx | 92 ++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 42 deletions(-) (limited to 'sw') diff --git a/sw/source/uibase/uiview/viewtab.cxx b/sw/source/uibase/uiview/viewtab.cxx index bfc4594b3270..bc7c72c59040 100644 --- a/sw/source/uibase/uiview/viewtab.cxx +++ b/sw/source/uibase/uiview/viewtab.cxx @@ -2295,56 +2295,64 @@ void SwView::StateTabWin(SfxItemSet& rSet) case SID_ATTR_PAGE_BITMAP: { SfxItemSet aSet = rDesc.GetMaster().GetAttrSet(); - drawing::FillStyle eXFS = aSet.GetItem(XATTR_FILLSTYLE)->GetValue(); - XFillStyleItem aFillStyleItem( eXFS ); - aFillStyleItem.SetWhich( SID_ATTR_PAGE_FILLSTYLE ); - rSet.Put(aFillStyleItem); - switch(eXFS) + if (const auto pFillStyleItem = aSet.GetItem(XATTR_FILLSTYLE)) { - case drawing::FillStyle_SOLID: - { - Color aColor = aSet.GetItem( XATTR_FILLCOLOR, false )->GetColorValue(); - XFillColorItem aFillColorItem( OUString(), aColor ); - aFillColorItem.SetWhich( SID_ATTR_PAGE_COLOR ); - rSet.Put( aFillColorItem ); - } - break; + drawing::FillStyle eXFS = pFillStyleItem->GetValue(); + XFillStyleItem aFillStyleItem( eXFS ); + aFillStyleItem.SetWhich( SID_ATTR_PAGE_FILLSTYLE ); + rSet.Put(aFillStyleItem); - case drawing::FillStyle_GRADIENT: + switch(eXFS) { - const XGradient& xGradient = aSet.GetItem( XATTR_FILLGRADIENT )->GetGradientValue(); - XFillGradientItem aFillGradientItem( OUString(), xGradient, SID_ATTR_PAGE_GRADIENT ); - rSet.Put( aFillGradientItem ); - } - break; + case drawing::FillStyle_SOLID: + { + if (const auto pItem = aSet.GetItem(XATTR_FILLCOLOR, false)) + { + Color aColor = pItem->GetColorValue(); + XFillColorItem aFillColorItem( OUString(), aColor ); + aFillColorItem.SetWhich( SID_ATTR_PAGE_COLOR ); + rSet.Put( aFillColorItem ); + } + break; + } - case drawing::FillStyle_HATCH: - { - const XFillHatchItem *pFillHatchItem( aSet.GetItem( XATTR_FILLHATCH ) ); - XFillHatchItem aFillHatchItem( pFillHatchItem->GetName(), pFillHatchItem->GetHatchValue()); - aFillHatchItem.SetWhich( SID_ATTR_PAGE_HATCH ); - rSet.Put( aFillHatchItem ); - } - break; + case drawing::FillStyle_GRADIENT: + { + const XGradient& xGradient = aSet.GetItem( XATTR_FILLGRADIENT )->GetGradientValue(); + XFillGradientItem aFillGradientItem( OUString(), xGradient, SID_ATTR_PAGE_GRADIENT ); + rSet.Put( aFillGradientItem ); + } + break; - case drawing::FillStyle_BITMAP: - { - const XFillBitmapItem *pFillBitmapItem = aSet.GetItem( XATTR_FILLBITMAP ); - XFillBitmapItem aFillBitmapItem( pFillBitmapItem->GetName(), pFillBitmapItem->GetGraphicObject() ); - aFillBitmapItem.SetWhich( SID_ATTR_PAGE_BITMAP ); - rSet.Put( aFillBitmapItem ); - } - break; - case drawing::FillStyle_NONE: - { - } - break; + case drawing::FillStyle_HATCH: + { + const XFillHatchItem *pFillHatchItem( aSet.GetItem( XATTR_FILLHATCH ) ); + XFillHatchItem aFillHatchItem( pFillHatchItem->GetName(), pFillHatchItem->GetHatchValue()); + aFillHatchItem.SetWhich( SID_ATTR_PAGE_HATCH ); + rSet.Put( aFillHatchItem ); + } + break; - default: - break; + case drawing::FillStyle_BITMAP: + { + const XFillBitmapItem *pFillBitmapItem = aSet.GetItem( XATTR_FILLBITMAP ); + XFillBitmapItem aFillBitmapItem( pFillBitmapItem->GetName(), pFillBitmapItem->GetGraphicObject() ); + aFillBitmapItem.SetWhich( SID_ATTR_PAGE_BITMAP ); + rSet.Put( aFillBitmapItem ); + } + break; + case drawing::FillStyle_NONE: + { + } + break; + + default: + break; + } } + break; } - break; + } nWhich = aIter.NextWhich(); } -- cgit