sd/source/ui/func/fumorph.cxx | 6 +- sw/source/uibase/uiview/viewtab.cxx | 92 +++++++++++++++++++----------------- 2 files changed, 53 insertions(+), 45 deletions(-)
New commits: commit ae7131ecd8596ef16dd4c2f86abb830a78a602ce Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Tue Jul 16 12:03:54 2019 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Tue Jul 16 20:31:42 2019 +0200 cid#1448540 Dereference null return value Change-Id: I675a19c19ef64480b5414d9b2bb7a5387533dc4a Reviewed-on: https://gerrit.libreoffice.org/75714 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> 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<XFillColorItem>( 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<XFillGradientItem>( 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<XFillColorItem>(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<XFillHatchItem>( 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<XFillGradientItem>( XATTR_FILLGRADIENT )->GetGradientValue(); + XFillGradientItem aFillGradientItem( OUString(), xGradient, SID_ATTR_PAGE_GRADIENT ); + rSet.Put( aFillGradientItem ); + } + break; - case drawing::FillStyle_BITMAP: - { - const XFillBitmapItem *pFillBitmapItem = aSet.GetItem<XFillBitmapItem>( 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<XFillHatchItem>( 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<XFillBitmapItem>( 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(); } commit 55df612be5e3e2541f8e42f5122febfcffc77d68 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Tue Jul 16 11:50:36 2019 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Tue Jul 16 20:31:24 2019 +0200 cid#1448419 Resource leak Change-Id: I1ca12ee7097ba2f4e644d3ff91cff1a49af49cbe Reviewed-on: https://gerrit.libreoffice.org/75713 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/sd/source/ui/func/fumorph.cxx b/sd/source/ui/func/fumorph.cxx index e97cf686e12f..f9827986f9da 100644 --- a/sd/source/ui/func/fumorph.cxx +++ b/sd/source/ui/func/fumorph.cxx @@ -380,8 +380,8 @@ void FuMorph::ImpInsertPolygons( return; SfxItemSet aSet( aSet1 ); - SdrObjGroup* pObjGroup = new SdrObjGroup(mpView->getSdrModelFromSdrView()); - SdrObjList* pObjList = pObjGroup->GetSubList(); + std::unique_ptr<SdrObjGroup, SdrObjectFreeOp> xObjGroup(new SdrObjGroup(mpView->getSdrModelFromSdrView())); + SdrObjList* pObjList = xObjGroup->GetSubList(); const size_t nCount = rPolyPolyList3D.size(); const double fStep = 1. / ( nCount + 1 ); const double fDelta = nEndLineWidth - nStartLineWidth; @@ -434,7 +434,7 @@ void FuMorph::ImpInsertPolygons( pObj2->CloneSdrObject(pObj2->getSdrModelFromSdrObject()) ); mpView->DeleteMarked(); - mpView->InsertObjectAtView( pObjGroup, *pPageView, SdrInsertFlags:: SETDEFLAYER ); + mpView->InsertObjectAtView(xObjGroup.release(), *pPageView, SdrInsertFlags:: SETDEFLAYER); } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits