summaryrefslogtreecommitdiff
path: root/stoc
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2015-03-13 18:43:21 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-03-19 10:58:25 +0000
commitc44a8dee64021e15fcd9ff2294176d27d665a5f4 (patch)
treec0787510f7ea2712d9dfbfb40ec24d7868404d3b /stoc
parentc9d2a2b7dfb33ea55477f3991915106ff8cae998 (diff)
stoc: must check *both* bDisposed and bInDispose
Implementation::inspect() was crashing with a null reflection_ in CppunitTest_libreofficekit_tiledrendering because another thread was disposing it. Actually, why are there 2 bools for this and not one enum with 3 values? Change-Id: Icd27145d3203e1f48a9841ee6251a50cb73f7988 (cherry picked from commit d19249c66d13c779a4a46f34e1d8094c74bbb20f) Reviewed-on: https://gerrit.libreoffice.org/14860 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'stoc')
-rw-r--r--stoc/source/inspect/introspection.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/stoc/source/inspect/introspection.cxx b/stoc/source/inspect/introspection.cxx
index bd7619768228..4805aa58d11a 100644
--- a/stoc/source/inspect/introspection.cxx
+++ b/stoc/source/inspect/introspection.cxx
@@ -1599,7 +1599,7 @@ css::uno::Reference<css::beans::XIntrospectionAccess> Implementation::inspect(
throw (css::uno::RuntimeException, std::exception)
{
osl::MutexGuard g(m_aMutex);
- if (rBHelper.bDisposed) {
+ if (rBHelper.bDisposed || rBHelper.bInDispose) {
throw css::lang::DisposedException(
getImplementationName(), static_cast<OWeakObject *>(this));
}