diff options
author | Michael Stahl <mstahl@redhat.com> | 2015-03-13 18:43:21 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-03-19 10:58:25 +0000 |
commit | c44a8dee64021e15fcd9ff2294176d27d665a5f4 (patch) | |
tree | c0787510f7ea2712d9dfbfb40ec24d7868404d3b /stoc | |
parent | c9d2a2b7dfb33ea55477f3991915106ff8cae998 (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.cxx | 2 |
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)); } |