filter/source/msfilter/svdfppt.cxx | 6 +++--- include/filter/msfilter/svdfppt.hxx | 4 ++-- sd/source/filter/ppt/pptin.cxx | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-)
New commits: commit db0175bf3a4da8aec0e3607731b464c1ce91ee1d Author: Noel Grandin <[email protected]> AuthorDate: Tue Mar 7 10:14:23 2023 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Tue Mar 7 11:24:47 2023 +0000 no need to allocate these separately they are all one or two words in size Change-Id: I44d60e9fca03ce6709551a660661dd2a6778fd7e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148377 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index cb6381fb6fd3..faded37d12e2 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -846,7 +846,7 @@ rtl::Reference<SdrObject> SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData aTextObj.SetVertical( bVerticalText ); if ( pRet ) { - bool bDeleteSource = aTextObj.GetOEPlaceHolderAtom() != nullptr; + bool bDeleteSource = aTextObj.GetOEPlaceHolderAtom().has_value(); if ( bDeleteSource && dynamic_cast<const SdrGrafObj* >(pRet.get()) == nullptr // we are not allowed to get && dynamic_cast<const SdrObjGroup* >(pRet.get()) == nullptr // grouped placeholder objects && dynamic_cast<const SdrOle2Obj* >(pRet.get()) == nullptr ) @@ -6481,8 +6481,8 @@ PPTTextObj::PPTTextObj( SvStream& rIn, SdrPowerPointImport& rSdrPowerPointImport DffRecordHeader aPlaceHolderAtomHd; if ( SvxMSDffManager::SeekToRec( rIn, PPT_PST_OEPlaceholderAtom, aClientDataContainerHd.GetRecEndFilePos(), &aPlaceHolderAtomHd ) ) { - mxImplTextObj->mpPlaceHolderAtom.reset( new PptOEPlaceholderAtom ); - ReadPptOEPlaceholderAtom( rIn, *( mxImplTextObj->mpPlaceHolderAtom ) ); + mxImplTextObj->moPlaceHolderAtom.emplace(); + ReadPptOEPlaceholderAtom( rIn, *( mxImplTextObj->moPlaceHolderAtom ) ); } rIn.Seek( nOldPos ); DffRecordHeader aProgTagHd; diff --git a/include/filter/msfilter/svdfppt.hxx b/include/filter/msfilter/svdfppt.hxx index 9c515615e0af..0fad50bf993f 100644 --- a/include/filter/msfilter/svdfppt.hxx +++ b/include/filter/msfilter/svdfppt.hxx @@ -1202,7 +1202,7 @@ struct ImplPPTTextObj final : public salhelper::SimpleReferenceObject { sal_uInt32 mnShapeId; sal_uInt32 mnShapeMaster; - std::unique_ptr<PptOEPlaceholderAtom> mpPlaceHolderAtom; + std::optional<PptOEPlaceholderAtom> moPlaceHolderAtom; TSS_Type mnInstance; TSS_Type mnDestinationInstance; MSO_SPT meShapeType; @@ -1256,7 +1256,7 @@ public: void SetDestinationInstance( TSS_Type nInstance ) { mxImplTextObj->mnDestinationInstance = nInstance; } - PptOEPlaceholderAtom* GetOEPlaceHolderAtom() const { return mxImplTextObj->mpPlaceHolderAtom.get(); } + const std::optional<PptOEPlaceholderAtom> & GetOEPlaceHolderAtom() const { return mxImplTextObj->moPlaceHolderAtom; } sal_uInt32 GetTextFlags() const { return mxImplTextObj->mnTextFlags; } void SetVertical( bool bVertical ) { diff --git a/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx index 8f022c606764..0cdc7f8fb59b 100644 --- a/sd/source/filter/ppt/pptin.cxx +++ b/sd/source/filter/ppt/pptin.cxx @@ -2201,7 +2201,7 @@ SdrObject* ImplSdPPTImport::ApplyTextObj( PPTTextObj* pTextObj, SdrTextObj* pObj ppStyleSheetAry = nullptr; PresObjKind ePresKind = PresObjKind::NONE; - PptOEPlaceholderAtom* pPlaceHolder = pTextObj->GetOEPlaceHolderAtom(); + const std::optional<PptOEPlaceholderAtom>& pPlaceHolder = pTextObj->GetOEPlaceHolderAtom(); OUString aPresentationText; if ( pPlaceHolder ) {
