diff options
author | Michael Stahl <mstahl@redhat.com> | 2015-03-13 18:43:21 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2015-03-14 00:41:29 +0100 |
commit | d19249c66d13c779a4a46f34e1d8094c74bbb20f (patch) | |
tree | 2d43c64c087dac878365651b42a44b6f53271f11 /stoc | |
parent | fac344f14736929219e2b34fcbee43737fa39d17 (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.cxx | 2 |
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)); } |