summaryrefslogtreecommitdiff
path: root/svx/source/svdraw/svdobj.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/svdraw/svdobj.cxx')
-rw-r--r--svx/source/svdraw/svdobj.cxx9
1 files changed, 5 insertions, 4 deletions
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index b0996d5d8405..9fc75da38f40 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -546,16 +546,17 @@ void SdrObject::handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage)
}
}
-// init global static itempool
-SdrItemPool* SdrObject::mpGlobalItemPool = nullptr;
+// global static ItemPool for not-yet-inserted items
+static SdrItemPool* mpGlobalItemPool;
+// init global static itempool
SdrItemPool& SdrObject::GetGlobalDrawObjectItemPool()
{
if(!mpGlobalItemPool)
{
mpGlobalItemPool = new SdrItemPool();
- SfxItemPool* pGlobalOutlPool = EditEngine::CreatePool();
- mpGlobalItemPool->SetSecondaryPool(pGlobalOutlPool);
+ rtl::Reference<SfxItemPool> pGlobalOutlPool = EditEngine::CreatePool();
+ mpGlobalItemPool->SetSecondaryPool(pGlobalOutlPool.get());
mpGlobalItemPool->SetDefaultMetric(SdrEngineDefaults::GetMapUnit());
mpGlobalItemPool->FreezeIdRanges();
}