summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2015-07-07 23:57:07 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-07-09 07:41:54 +0000
commitfdefb34fc82a8dea8e78130c95109e81816fcb9f (patch)
tree932bfa09ec342e01fa76e19f48d475215d16a023 /sd
parent4044a20c73e2b2a53a8ba11afb2287e84202f07c (diff)
sd: dispose SdStyleSheet properly
If it's disposed during document destruction it still retained pointers to SfxItemSet and SfxStyleSheetBasePool. Change-Id: I7b986b4fe5ca466f0fa86a99b744f5e2f85e08be (cherry picked from commit 8904bf48e0cb4d5d0890684ce82dc2ff3252e41f) Reviewed-on: https://gerrit.libreoffice.org/16866 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
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 a3b018cddec7..a9f6f27187cc 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();
}