summaryrefslogtreecommitdiff
path: root/cppuhelper
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2016-01-04 14:21:45 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-01-06 08:37:58 +0000
commit537c7dcfc1e2a1a8ebd9ef12f5671725c7d5e014 (patch)
tree3897b51bfc833be8402ac11a34719e0da441f22b /cppuhelper
parent9288631d11987087da7b9997937ae4b7b556fabc (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')
-rw-r--r--cppuhelper/source/component_context.cxx4
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;
}