diff options
Diffstat (limited to 'editeng/source/editeng/editdoc.cxx')
-rw-r--r-- | editeng/source/editeng/editdoc.cxx | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx index 8c27e0dbf09a..ef5964c822f5 100644 --- a/editeng/source/editeng/editdoc.cxx +++ b/editeng/source/editeng/editdoc.cxx @@ -816,16 +816,16 @@ void ContentAttribsInfo::AppendCharAttrib(EditCharAttrib* pNew) aPrevCharAttribs.push_back(std::unique_ptr<EditCharAttrib>(pNew)); } -void ConvertItem( SfxPoolItem& rPoolItem, MapUnit eSourceUnit, MapUnit eDestUnit ) +void ConvertItem( std::unique_ptr<SfxPoolItem>& rPoolItem, MapUnit eSourceUnit, MapUnit eDestUnit ) { DBG_ASSERT( eSourceUnit != eDestUnit, "ConvertItem - Why?!" ); - switch ( rPoolItem.Which() ) + switch ( rPoolItem->Which() ) { case EE_PARA_LRSPACE: { - assert(dynamic_cast<const SvxLRSpaceItem *>(&rPoolItem) != nullptr); - SvxLRSpaceItem& rItem = static_cast<SvxLRSpaceItem&>(rPoolItem); + assert(dynamic_cast<const SvxLRSpaceItem *>(rPoolItem.get()) != nullptr); + SvxLRSpaceItem& rItem = static_cast<SvxLRSpaceItem&>(*rPoolItem); rItem.SetTextFirstLineOfst( sal::static_int_cast< short >( OutputDevice::LogicToLogic( rItem.GetTextFirstLineOfst(), eSourceUnit, eDestUnit ) ) ); rItem.SetTextLeft( OutputDevice::LogicToLogic( rItem.GetTextLeft(), eSourceUnit, eDestUnit ) ); rItem.SetRight( OutputDevice::LogicToLogic( rItem.GetRight(), eSourceUnit, eDestUnit ) ); @@ -833,16 +833,16 @@ void ConvertItem( SfxPoolItem& rPoolItem, MapUnit eSourceUnit, MapUnit eDestUnit break; case EE_PARA_ULSPACE: { - assert(dynamic_cast<const SvxULSpaceItem *>(&rPoolItem) != nullptr); - SvxULSpaceItem& rItem = static_cast<SvxULSpaceItem&>(rPoolItem); + assert(dynamic_cast<const SvxULSpaceItem *>(rPoolItem.get()) != nullptr); + SvxULSpaceItem& rItem = static_cast<SvxULSpaceItem&>(*rPoolItem); rItem.SetUpper( sal::static_int_cast< sal_uInt16 >( OutputDevice::LogicToLogic( rItem.GetUpper(), eSourceUnit, eDestUnit ) ) ); rItem.SetLower( sal::static_int_cast< sal_uInt16 >( OutputDevice::LogicToLogic( rItem.GetLower(), eSourceUnit, eDestUnit ) ) ); } break; case EE_PARA_SBL: { - assert(dynamic_cast<const SvxLineSpacingItem *>(&rPoolItem) != nullptr); - SvxLineSpacingItem& rItem = static_cast<SvxLineSpacingItem&>(rPoolItem); + assert(dynamic_cast<const SvxLineSpacingItem *>(rPoolItem.get()) != nullptr); + SvxLineSpacingItem& rItem = static_cast<SvxLineSpacingItem&>(*rPoolItem); // SetLineHeight changes also eLineSpace! if ( rItem.GetLineSpaceRule() == SvxLineSpaceRule::Min ) rItem.SetLineHeight( sal::static_int_cast< sal_uInt16 >( OutputDevice::LogicToLogic( rItem.GetLineHeight(), eSourceUnit, eDestUnit ) ) ); @@ -850,24 +850,24 @@ void ConvertItem( SfxPoolItem& rPoolItem, MapUnit eSourceUnit, MapUnit eDestUnit break; case EE_PARA_TABS: { - assert(dynamic_cast<const SvxTabStopItem *>(&rPoolItem) != nullptr); - SvxTabStopItem& rItem = static_cast<SvxTabStopItem&>(rPoolItem); - SvxTabStopItem aNewItem( EE_PARA_TABS ); + assert(dynamic_cast<const SvxTabStopItem *>(rPoolItem.get()) != nullptr); + SvxTabStopItem& rItem = static_cast<SvxTabStopItem&>(*rPoolItem); + SvxTabStopItem* pNewItem(new SvxTabStopItem(EE_PARA_TABS)); for ( sal_uInt16 i = 0; i < rItem.Count(); i++ ) { const SvxTabStop& rTab = rItem[i]; SvxTabStop aNewStop( OutputDevice::LogicToLogic( rTab.GetTabPos(), eSourceUnit, eDestUnit ), rTab.GetAdjustment(), rTab.GetDecimal(), rTab.GetFill() ); - aNewItem.Insert( aNewStop ); + pNewItem->Insert( aNewStop ); } - rItem = aNewItem; + rPoolItem.reset(pNewItem); } break; case EE_CHAR_FONTHEIGHT: case EE_CHAR_FONTHEIGHT_CJK: case EE_CHAR_FONTHEIGHT_CTL: { - assert(dynamic_cast<const SvxFontHeightItem *>(&rPoolItem) != nullptr); - SvxFontHeightItem& rItem = static_cast<SvxFontHeightItem&>(rPoolItem); + assert(dynamic_cast<const SvxFontHeightItem *>(rPoolItem.get()) != nullptr); + SvxFontHeightItem& rItem = static_cast<SvxFontHeightItem&>(*rPoolItem); rItem.SetHeight( OutputDevice::LogicToLogic( rItem.GetHeight(), eSourceUnit, eDestUnit ) ); } break; @@ -899,7 +899,7 @@ void ConvertAndPutItems( SfxItemSet& rDest, const SfxItemSet& rSource, const Map if ( eSourceUnit != eDestUnit ) { std::unique_ptr<SfxPoolItem> pItem(rSource.Get( nSourceWhich ).Clone()); - ConvertItem( *pItem, eSourceUnit, eDestUnit ); + ConvertItem( pItem, eSourceUnit, eDestUnit ); pItem->SetWhich(nWhich); rDest.Put( *pItem ); } |