summaryrefslogtreecommitdiff
path: root/svx/source
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-05-25 15:53:10 +0100
committerCaolán McNamara <caolanm@redhat.com>2021-05-25 20:51:13 +0200
commit0eecca25109472586ae0380f9290bec7503460e6 (patch)
treea1bdcd6b1048563590325589da589f3478ee880e /svx/source
parent62be589df821687b36188e977b163fd58599c9ff (diff)
ofz#34601 teardown crash under oss-fuzz
Change-Id: Icbb1500a85f956c8100878d6a0bef30b98440c32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116114 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'svx/source')
-rw-r--r--svx/source/svdraw/svdobj.cxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index df38cf4a6d7a..15b9cc6dcfcf 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -579,9 +579,14 @@ SdrItemPool& SdrObject::GetGlobalDrawObjectItemPool()
mpGlobalItemPool->SetSecondaryPool(pGlobalOutlPool.get());
mpGlobalItemPool->SetDefaultMetric(SdrEngineDefaults::GetMapUnit());
mpGlobalItemPool->FreezeIdRanges();
- uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(comphelper::getProcessComponentContext());
- uno::Reference< frame::XTerminateListener > xListener( new TerminateListener );
- xDesktop->addTerminateListener( xListener );
+ if (utl::ConfigManager::IsFuzzing())
+ mpGlobalItemPool->acquire();
+ else
+ {
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(comphelper::getProcessComponentContext());
+ uno::Reference< frame::XTerminateListener > xListener( new TerminateListener );
+ xDesktop->addTerminateListener( xListener );
+ }
}
return *mpGlobalItemPool;