diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2016-01-04 14:21:45 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-01-06 08:37:58 +0000 |
commit | 537c7dcfc1e2a1a8ebd9ef12f5671725c7d5e014 (patch) | |
tree | 3897b51bfc833be8402ac11a34719e0da441f22b /cppuhelper/source/component_context.cxx | |
parent | 9288631d11987087da7b9997937ae4b7b556fabc (diff) |
tdf#82775: Don't prematurely dispose single-instance services
...that happen to be requested concurrently from multiple threads
Change-Id: Icecfb0b8d88c9123064689643eddf90a99d3b1b8
(cherry picked from commit e83f31724e0f2cd4242e0b398c48578da53cb5c1)
Reviewed-on: https://gerrit.libreoffice.org/21129
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'cppuhelper/source/component_context.cxx')
-rw-r--r-- | cppuhelper/source/component_context.cxx | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/cppuhelper/source/component_context.cxx b/cppuhelper/source/component_context.cxx index 1a95f4ae46ed..21f7cfde4b3b 100644 --- a/cppuhelper/source/component_context.cxx +++ b/cppuhelper/source/component_context.cxx @@ -620,7 +620,9 @@ Any ComponentContext::lookupMap( OUString const & rName ) ret = pEntry->value; } guard.clear(); - try_dispose( xInstance ); + if (ret != xInstance) { + try_dispose( xInstance ); + } return ret; } |