sd/source/ui/sidebar/SlideBackground.cxx | 16 +- sd/source/ui/view/drviews7.cxx | 202 +++++++++++++++---------------- 2 files changed, 110 insertions(+), 108 deletions(-)
New commits: commit fe2dfdba10a0b54bd915a4186a0347672c61fcec Author: Caolán McNamara <caol...@redhat.com> Date: Sat Jul 15 15:02:38 2017 +0100 improve variable scope Change-Id: I1207c570c4bceac73b3197e11bcefcf73837d1b3 diff --git a/sd/source/ui/view/drviews7.cxx b/sd/source/ui/view/drviews7.cxx index b95669665172..97a595cc1abc 100644 --- a/sd/source/ui/view/drviews7.cxx +++ b/sd/source/ui/view/drviews7.cxx @@ -1756,133 +1756,132 @@ void DrawViewShell::GetPageProperties( SfxItemSet &rSet ) void DrawViewShell::SetPageProperties (SfxRequest& rReq) { SdPage *pPage = getCurrentPage(); + if (!pPage) + return; sal_uInt16 nSlotId = rReq.GetSlot(); const SfxItemSet *pArgs = rReq.GetArgs(); + if (!pArgs) + return; - if ( pPage && pArgs ) + if ( ( nSlotId >= SID_ATTR_PAGE_COLOR ) && ( nSlotId <= SID_ATTR_PAGE_FILLSTYLE ) ) { - Size aSize = pPage->GetSize(); - PageKind ePageKind = GetPageKind(); - const SfxPoolItem* pPoolItem = nullptr; - Size aNewSize(aSize); - sal_Int32 nLeft = -1, nRight = -1, nUpper = -1, nLower = -1; - bool bScaleAll = true; - Orientation eOrientation = pPage->GetOrientation(); - SdPage* pMasterPage = pPage->IsMasterPage() ? pPage : &static_cast<SdPage&>(pPage->TRG_GetMasterPage()); - bool bFullSize = pMasterPage->IsBackgroundFullSize(); - sal_uInt16 nPaperBin = pPage->GetPaperBin(); + SdrPageProperties& rPageProperties = pPage->getSdrPageProperties(); + const SfxItemSet &aPageItemSet = rPageProperties.GetItemSet(); + SfxItemSet *pTempSet = aPageItemSet.Clone(false, &mpDrawView->GetModel()->GetItemPool()); + + rPageProperties.ClearItem(XATTR_FILLSTYLE); + rPageProperties.ClearItem(XATTR_FILLGRADIENT); + rPageProperties.ClearItem(XATTR_FILLHATCH); + rPageProperties.ClearItem(XATTR_FILLBITMAP); - if ( ( nSlotId >= SID_ATTR_PAGE_COLOR ) && ( nSlotId <= SID_ATTR_PAGE_FILLSTYLE ) ) + switch (nSlotId) { - SdrPageProperties& rPageProperties = pPage->getSdrPageProperties(); - const SfxItemSet &aPageItemSet = rPageProperties.GetItemSet(); - SfxItemSet *pTempSet = aPageItemSet.Clone(false, &mpDrawView->GetModel()->GetItemPool()); + case(SID_ATTR_PAGE_FILLSTYLE): + { + XFillStyleItem aFSItem( static_cast<const XFillStyleItem&>(pArgs->Get( XATTR_FILLSTYLE )) ); + drawing::FillStyle eXFS = aFSItem.GetValue(); - rPageProperties.ClearItem(XATTR_FILLSTYLE); - rPageProperties.ClearItem(XATTR_FILLGRADIENT); - rPageProperties.ClearItem(XATTR_FILLHATCH); - rPageProperties.ClearItem(XATTR_FILLBITMAP); + if ( eXFS == drawing::FillStyle_NONE ) + rPageProperties.PutItem( XFillStyleItem( eXFS ) ); + } + break; - switch (nSlotId) + case(SID_ATTR_PAGE_COLOR): { - case(SID_ATTR_PAGE_FILLSTYLE): - { - XFillStyleItem aFSItem( static_cast<const XFillStyleItem&>(pArgs->Get( XATTR_FILLSTYLE )) ); - drawing::FillStyle eXFS = aFSItem.GetValue(); - - if ( eXFS == drawing::FillStyle_NONE ) - rPageProperties.PutItem( XFillStyleItem( eXFS ) ); - } - break; + XFillColorItem aColorItem( static_cast<const XFillColorItem&>(pArgs->Get( XATTR_FILLCOLOR )) ); + rPageProperties.PutItem( XFillStyleItem( drawing::FillStyle_SOLID ) ); + rPageProperties.PutItem( aColorItem ); + } + break; - case(SID_ATTR_PAGE_COLOR): - { - XFillColorItem aColorItem( static_cast<const XFillColorItem&>(pArgs->Get( XATTR_FILLCOLOR )) ); - rPageProperties.PutItem( XFillStyleItem( drawing::FillStyle_SOLID ) ); - rPageProperties.PutItem( aColorItem ); - } - break; + case(SID_ATTR_PAGE_GRADIENT): + { + XFillGradientItem aGradientItem( static_cast<const XFillGradientItem&>(pArgs->Get( XATTR_FILLGRADIENT )) ); - case(SID_ATTR_PAGE_GRADIENT): - { - XFillGradientItem aGradientItem( static_cast<const XFillGradientItem&>(pArgs->Get( XATTR_FILLGRADIENT )) ); + // MigrateItemSet guarantees unique gradient names + SfxItemSet aMigrateSet( mpDrawView->GetModel()->GetItemPool(), svl::Items<XATTR_FILLGRADIENT, XATTR_FILLGRADIENT>{} ); + aMigrateSet.Put( aGradientItem ); + SdrModel::MigrateItemSet( &aMigrateSet, pTempSet, mpDrawView->GetModel() ); - // MigrateItemSet guarantees unique gradient names - SfxItemSet aMigrateSet( mpDrawView->GetModel()->GetItemPool(), svl::Items<XATTR_FILLGRADIENT, XATTR_FILLGRADIENT>{} ); - aMigrateSet.Put( aGradientItem ); - SdrModel::MigrateItemSet( &aMigrateSet, pTempSet, mpDrawView->GetModel() ); + rPageProperties.PutItemSet( *pTempSet ); + rPageProperties.PutItem( XFillStyleItem( drawing::FillStyle_GRADIENT ) ); + } + break; - rPageProperties.PutItemSet( *pTempSet ); - rPageProperties.PutItem( XFillStyleItem( drawing::FillStyle_GRADIENT ) ); - } - break; + case(SID_ATTR_PAGE_HATCH): + { + XFillHatchItem aHatchItem( static_cast<const XFillHatchItem&>(pArgs->Get( XATTR_FILLHATCH )) ); + rPageProperties.PutItem( XFillStyleItem( drawing::FillStyle_HATCH ) ); + rPageProperties.PutItem( aHatchItem ); + } + break; - case(SID_ATTR_PAGE_HATCH): - { - XFillHatchItem aHatchItem( static_cast<const XFillHatchItem&>(pArgs->Get( XATTR_FILLHATCH )) ); - rPageProperties.PutItem( XFillStyleItem( drawing::FillStyle_HATCH ) ); - rPageProperties.PutItem( aHatchItem ); - } - break; + case(SID_ATTR_PAGE_BITMAP): + { + XFillBitmapItem aBitmapItem( static_cast<const XFillBitmapItem&>(pArgs->Get( XATTR_FILLBITMAP )) ); + rPageProperties.PutItem( XFillStyleItem( drawing::FillStyle_BITMAP ) ); + rPageProperties.PutItem( aBitmapItem ); + } + break; - case(SID_ATTR_PAGE_BITMAP): - { - XFillBitmapItem aBitmapItem( static_cast<const XFillBitmapItem&>(pArgs->Get( XATTR_FILLBITMAP )) ); - rPageProperties.PutItem( XFillStyleItem( drawing::FillStyle_BITMAP ) ); - rPageProperties.PutItem( aBitmapItem ); - } - break; + default: + break; + } - default: - break; - } + delete pTempSet; - delete pTempSet; + rReq.Done(); + } + else + { + PageKind ePageKind = GetPageKind(); + const SfxPoolItem* pPoolItem = nullptr; + Size aNewSize(pPage->GetSize()); + sal_Int32 nLeft = -1, nRight = -1, nUpper = -1, nLower = -1; + bool bScaleAll = true; + Orientation eOrientation = pPage->GetOrientation(); + SdPage* pMasterPage = pPage->IsMasterPage() ? pPage : &static_cast<SdPage&>(pPage->TRG_GetMasterPage()); + bool bFullSize = pMasterPage->IsBackgroundFullSize(); + sal_uInt16 nPaperBin = pPage->GetPaperBin(); - rReq.Done(); - } - else + switch (nSlotId) { - switch (nSlotId) - { - case SID_ATTR_PAGE_LRSPACE: - if( pArgs->GetItemState(GetPool().GetWhich(SID_ATTR_PAGE_LRSPACE), - true,&pPoolItem) == SfxItemState::SET ) + case SID_ATTR_PAGE_LRSPACE: + if( pArgs->GetItemState(GetPool().GetWhich(SID_ATTR_PAGE_LRSPACE), + true,&pPoolItem) == SfxItemState::SET ) + { + nLeft = static_cast<const SvxLongLRSpaceItem*>(pPoolItem)->GetLeft(); + nRight = static_cast<const SvxLongLRSpaceItem*>(pPoolItem)->GetRight(); + if (nLeft != -1 && nUpper == -1) { - nLeft = static_cast<const SvxLongLRSpaceItem*>(pPoolItem)->GetLeft(); - nRight = static_cast<const SvxLongLRSpaceItem*>(pPoolItem)->GetRight(); - if (nLeft != -1 && nUpper == -1) - { - nUpper = pPage->GetUppBorder(); - nLower = pPage->GetLwrBorder(); - } - SetPageSizeAndBorder(ePageKind, aNewSize, nLeft, nRight, nUpper, nLower, bScaleAll, eOrientation, nPaperBin, bFullSize ); + nUpper = pPage->GetUppBorder(); + nLower = pPage->GetLwrBorder(); } - break; + SetPageSizeAndBorder(ePageKind, aNewSize, nLeft, nRight, nUpper, nLower, bScaleAll, eOrientation, nPaperBin, bFullSize ); + } + break; - case SID_ATTR_PAGE_ULSPACE: - if( pArgs->GetItemState(SID_ATTR_PAGE_ULSPACE, - true,&pPoolItem) == SfxItemState::SET ) + case SID_ATTR_PAGE_ULSPACE: + if( pArgs->GetItemState(SID_ATTR_PAGE_ULSPACE, + true,&pPoolItem) == SfxItemState::SET ) + { + nUpper = static_cast<const SvxLongULSpaceItem*>(pPoolItem)->GetUpper(); + nLower = static_cast<const SvxLongULSpaceItem*>(pPoolItem)->GetLower(); + if (nLeft == -1 && nUpper != -1) { - nUpper = static_cast<const SvxLongULSpaceItem*>(pPoolItem)->GetUpper(); - nLower = static_cast<const SvxLongULSpaceItem*>(pPoolItem)->GetLower(); - if (nLeft == -1 && nUpper != -1) - { - nLeft = pPage->GetLftBorder(); - nRight = pPage->GetRgtBorder(); - } - SetPageSizeAndBorder(ePageKind, aNewSize, nLeft, nRight, nUpper, nLower, bScaleAll, eOrientation, nPaperBin, bFullSize ); + nLeft = pPage->GetLftBorder(); + nRight = pPage->GetRgtBorder(); } - break; - - default: + SetPageSizeAndBorder(ePageKind, aNewSize, nLeft, nRight, nUpper, nLower, bScaleAll, eOrientation, nPaperBin, bFullSize ); + } break; - } + + default: + break; } } } - void DrawViewShell::GetState (SfxItemSet& rSet) { // Iterate over all requested items in the set. commit cbf34897f067e0164f85c626650a8f2dc4f998b0 Author: Caolán McNamara <caol...@redhat.com> Date: Sat Jul 15 14:58:11 2017 +0100 coverity#1415091 Dereference before null check Change-Id: If22c6a9d9b312e52b2956fd84618d3e95fda1c3e diff --git a/sd/source/ui/view/drviews7.cxx b/sd/source/ui/view/drviews7.cxx index 3feab2fe0b0e..b95669665172 100644 --- a/sd/source/ui/view/drviews7.cxx +++ b/sd/source/ui/view/drviews7.cxx @@ -1758,21 +1758,20 @@ void DrawViewShell::SetPageProperties (SfxRequest& rReq) SdPage *pPage = getCurrentPage(); sal_uInt16 nSlotId = rReq.GetSlot(); const SfxItemSet *pArgs = rReq.GetArgs(); - // const size_t nDescId = rSh->GetCurPageDesc(); - // const SdPage& rDesc = rSh->GetPageDesc( nDescId ); - Size maSize = pPage->GetSize(); - PageKind ePageKind = GetPageKind(); - const SfxPoolItem* pPoolItem = nullptr; - Size aNewSize(maSize); - sal_Int32 nLeft = -1, nRight = -1, nUpper = -1, nLower = -1; - bool bScaleAll = true; - Orientation eOrientation = pPage->GetOrientation(); - SdPage* pMasterPage = pPage->IsMasterPage() ? pPage : &static_cast<SdPage&>(pPage->TRG_GetMasterPage()); - bool bFullSize = pMasterPage->IsBackgroundFullSize(); - sal_uInt16 nPaperBin = pPage->GetPaperBin(); if ( pPage && pArgs ) { + Size aSize = pPage->GetSize(); + PageKind ePageKind = GetPageKind(); + const SfxPoolItem* pPoolItem = nullptr; + Size aNewSize(aSize); + sal_Int32 nLeft = -1, nRight = -1, nUpper = -1, nLower = -1; + bool bScaleAll = true; + Orientation eOrientation = pPage->GetOrientation(); + SdPage* pMasterPage = pPage->IsMasterPage() ? pPage : &static_cast<SdPage&>(pPage->TRG_GetMasterPage()); + bool bFullSize = pMasterPage->IsBackgroundFullSize(); + sal_uInt16 nPaperBin = pPage->GetPaperBin(); + if ( ( nSlotId >= SID_ATTR_PAGE_COLOR ) && ( nSlotId <= SID_ATTR_PAGE_FILLSTYLE ) ) { SdrPageProperties& rPageProperties = pPage->getSdrPageProperties(); commit 33ecb72fd52050687f74828263526a8e836c3bdf Author: Caolán McNamara <caol...@redhat.com> Date: Sat Jul 15 14:49:48 2017 +0100 coverity#1415090 Unchecked dynamic_cast and coverity#1415096 Unchecked dynamic_cast Change-Id: I29a20a0868f8720a7aee60ebd6f55a7dbb76f894 diff --git a/sd/source/ui/sidebar/SlideBackground.cxx b/sd/source/ui/sidebar/SlideBackground.cxx index 5011f7a58c01..a0c2e756e42c 100644 --- a/sd/source/ui/sidebar/SlideBackground.cxx +++ b/sd/source/ui/sidebar/SlideBackground.cxx @@ -733,7 +733,7 @@ void SlideBackground::NotifyItemUpdate( { const SvxSizeItem* pSizeItem = nullptr; if (eState >= SfxItemState::DEFAULT) - pSizeItem = dynamic_cast< const SvxSizeItem* >(pState); + pSizeItem = dynamic_cast<const SvxSizeItem*>(pState); if (pSizeItem) { Size aPaperSize = pSizeItem->GetSize(); @@ -748,10 +748,12 @@ void SlideBackground::NotifyItemUpdate( case SID_ATTR_PAGE: { - if (eState >= SfxItemState::DEFAULT && - pState && dynamic_cast< const SvxPageItem *>( pState ) != nullptr) + const SvxPageItem* pPageItem = nullptr; + if (eState >= SfxItemState::DEFAULT) + pPageItem = dynamic_cast<const SvxPageItem*>(pState); + if (pPageItem) { - mpPageItem.reset( static_cast<SvxPageItem*>(pState->Clone()) ); + mpPageItem.reset(static_cast<SvxPageItem*>(pPageItem->Clone())); bool bIsLandscape = mpPageItem->IsLandscape(); mpPaperOrientation->SelectEntryPos( bIsLandscape ? 0 : 1 ); } @@ -762,8 +764,9 @@ void SlideBackground::NotifyItemUpdate( { const SvxLongLRSpaceItem* pLRItem = nullptr; if (eState >= SfxItemState::DEFAULT) - { pLRItem = dynamic_cast<const SvxLongLRSpaceItem*>(pState); + if (pLRItem) + { m_nPageLeftMargin = pLRItem->GetLeft(); m_nPageRightMargin = pLRItem->GetRight(); SetFieldUnit(*m_pLeftMarginEdit, meFieldUnit, true); @@ -778,8 +781,9 @@ void SlideBackground::NotifyItemUpdate( { const SvxLongULSpaceItem* pULItem = nullptr; if (eState >= SfxItemState::DEFAULT) - { pULItem = dynamic_cast<const SvxLongULSpaceItem*>(pState); + if (pULItem) + { m_nPageTopMargin = pULItem->GetUpper(); m_nPageBottomMargin = pULItem->GetLower(); SetFieldUnit(*m_pTopMarginEdit, meFieldUnit, true);
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits