summaryrefslogtreecommitdiffstats
path: root/sd
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2015-07-07 23:57:07 +0200
committerMichael Stahl <mstahl@redhat.com>2015-07-08 11:26:57 +0200
commit8904bf48e0cb4d5d0890684ce82dc2ff3252e41f (patch)
tree865863101e6e97740dd997eeb086a6cc7321da17 /sd
parenttypo: contest -> content (diff)
downloadcore-8904bf48e0cb4d5d0890684ce82dc2ff3252e41f.tar.gz
core-8904bf48e0cb4d5d0890684ce82dc2ff3252e41f.zip
sd: dispose SdStyleSheet properly
If it's disposed during document destruction it still retained pointers to SfxItemSet and SfxStyleSheetBasePool. Change-Id: I7b986b4fe5ca466f0fa86a99b744f5e2f85e08be
Diffstat (limited to 'sd')
-rw-r--r--sd/source/core/stlsheet.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/sd/source/core/stlsheet.cxx b/sd/source/core/stlsheet.cxx
index 4ed628920757..050b1c0a7204 100644
--- a/sd/source/core/stlsheet.cxx
+++ b/sd/source/core/stlsheet.cxx
@@ -773,6 +773,13 @@ void SAL_CALL SdStyleSheet::dispose( ) throw (RuntimeException, std::exception)
void SdStyleSheet::disposing()
{
+ SolarMutexGuard aGuard;
+ if (bMySet)
+ {
+ delete pSet;
+ }
+ pSet = nullptr;
+ pPool = nullptr;
mxPool.clear();
}