[Libreoffice-commits] .: 2 commits - forms/source solenv/gbuild

Michael Stahl mst at kemper.freedesktop.org
Mon Oct 24 06:29:08 PDT 2011


 forms/source/helper/windowstateguard.cxx |   11 +++++++----
 solenv/gbuild/extensions/pre_Counters.mk |    2 --
 solenv/gbuild/gbuild.mk                  |    8 --------
 3 files changed, 7 insertions(+), 14 deletions(-)

New commits:
commit 3895c2e7c8b32bfde74e2dc391c6c195aae22fc7
Author: Michael Stahl <mstahl at redhat.com>
Date:   Mon Oct 24 12:58:23 2011 +0200

    fdo#42157: fix deadlock
    
    WindowStateGuard_Impl::impl_ensureEnabledState_nothrow_nolck:
    drop own mutex while calling XWindow method that locks SolarMutex.

diff --git a/forms/source/helper/windowstateguard.cxx b/forms/source/helper/windowstateguard.cxx
index 7a947ec..2cfae61 100644
--- a/forms/source/helper/windowstateguard.cxx
+++ b/forms/source/helper/windowstateguard.cxx
@@ -135,18 +135,21 @@ namespace frm
         try
         {
             Reference< XWindow2 > xWindow;
-            sal_Bool bEnabled = sal_False;
+            Reference< XPropertySet > xModelProps;
             sal_Bool bShouldBeEnabled = sal_False;
             {
                 ::osl::MutexGuard aGuard( m_aMutex );
                 if ( !m_xWindow.is() || !m_xModelProps.is() )
                     return;
                 xWindow = m_xWindow;
-                bEnabled = xWindow->isEnabled();
-                OSL_VERIFY( m_xModelProps->getPropertyValue( PROPERTY_ENABLED ) >>= bShouldBeEnabled );
+                xModelProps = m_xModelProps;
             }
+            // fdo#42157: do not lock m_aMutex to prevent deadlock
+            bool const bEnabled = xWindow->isEnabled();
+            OSL_VERIFY( xModelProps->getPropertyValue( PROPERTY_ENABLED )
+                        >>= bShouldBeEnabled );
 
-            if ( !bShouldBeEnabled && bEnabled && xWindow.is() )
+            if ( !bShouldBeEnabled && bEnabled )
                 xWindow->setEnable( sal_False );
         }
         catch( const Exception& )
commit dc8249af103741415a074d9bbf8b1211f24a7c3f
Author: Michael Stahl <mstahl at redhat.com>
Date:   Mon Oct 24 12:55:31 2011 +0200

    gbuild: remove remnants of gb_CHECKOBJECTOWNER

diff --git a/solenv/gbuild/extensions/pre_Counters.mk b/solenv/gbuild/extensions/pre_Counters.mk
index feebe8c..8f6eb4a 100644
--- a/solenv/gbuild/extensions/pre_Counters.mk
+++ b/solenv/gbuild/extensions/pre_Counters.mk
@@ -37,8 +37,6 @@ countoutdated:
 
 ifneq ($(filter countoutdated,$(MAKECMDGOALS)),)
 
-gb_CHECKOBJECTOWNER := $(false)
-
 $(WORKDIR)/%:
 	$(eval gb_CountersOutdated_COUNTER_ALL+= x)
 	$(eval gb_CountersOutdated__TYPE=$(firstword $(subst /, ,$*)))
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 03110a5..4ff643a 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -126,14 +126,6 @@ else
 gb_FULLDEPS := $(true)
 endif
 
-# Life in the fast lane: only check for duplicate objects when explicitly building check targets
-# triples speed of noop builds
-ifeq ($(origin gb_CHECKOBJECTOWNER),undefined)
-ifneq ($(filter check unitcheck subsequentcheck,$(MAKECMDGOALS)),)
-gb_CHECKOBJECTOWNER := $(true)
-endif
-endif
-
 # save user-supplied flags for latter use
 ifneq ($(strip $(CFLAGS)),)
 gb__ENV_CFLAGS := $(CFLAGS)


More information about the Libreoffice-commits mailing list