[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - stoc/source

Michael Stahl mstahl at redhat.com
Thu Mar 19 03:58:48 PDT 2015


 stoc/source/inspect/introspection.cxx |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit c44a8dee64021e15fcd9ff2294176d27d665a5f4
Author: Michael Stahl <mstahl at redhat.com>
Date:   Fri Mar 13 18:43:21 2015 +0100

    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 at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/stoc/source/inspect/introspection.cxx b/stoc/source/inspect/introspection.cxx
index bd76197..4805aa5 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));
     }


More information about the Libreoffice-commits mailing list