summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2023-03-07 10:14:23 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2023-03-07 11:24:47 +0000
commitdb0175bf3a4da8aec0e3607731b464c1ce91ee1d (patch)
tree9c8c5a077f0fc0d83bf95e220fa53ef6a6adba02
parentf3a0ed5d63823a1a111de7330d4ddbaf4e0b6d41 (diff)
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 <noel.grandin@collabora.co.uk>
-rw-r--r--filter/source/msfilter/svdfppt.cxx6
-rw-r--r--include/filter/msfilter/svdfppt.hxx4
-rw-r--r--sd/source/filter/ppt/pptin.cxx2
3 files changed, 6 insertions, 6 deletions
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 )
{