summaryrefslogtreecommitdiff
path: root/stoc
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2015-03-13 18:43:21 +0100
committerMichael Stahl <mstahl@redhat.com>2015-03-14 00:41:29 +0100
commitd19249c66d13c779a4a46f34e1d8094c74bbb20f (patch)
tree2d43c64c087dac878365651b42a44b6f53271f11 /stoc
parentfac344f14736929219e2b34fcbee43737fa39d17 (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
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 20b6826cf312..11b84aaaf768 100644
--- a/stoc/source/inspect/introspection.cxx
+++ b/stoc/source/inspect/introspection.cxx
@@ -1575,7 +1575,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));
}