diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-05-25 15:53:10 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-05-25 20:51:13 +0200 |
commit | 0eecca25109472586ae0380f9290bec7503460e6 (patch) | |
tree | a1bdcd6b1048563590325589da589f3478ee880e /svx/source | |
parent | 62be589df821687b36188e977b163fd58599c9ff (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.cxx | 11 |
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; |