diff options
author | Michael Stahl <mstahl@redhat.com> | 2015-07-07 23:57:07 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-07-09 07:41:54 +0000 |
commit | fdefb34fc82a8dea8e78130c95109e81816fcb9f (patch) | |
tree | 932bfa09ec342e01fa76e19f48d475215d16a023 /sd | |
parent | 4044a20c73e2b2a53a8ba11afb2287e84202f07c (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.cxx | 7 |
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(); } |