accessibility/inc/accessibility/extended/AccessibleGridControl.hxx     |    5 -
 accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx |   39 
---------
 accessibility/source/extended/AccessibleGridControl.cxx                |   31 
++++---
 accessibility/source/extended/AccessibleGridControlBase.cxx            |   41 
++++++----
 accessibility/source/extended/AccessibleGridControlHeader.cxx          |   11 
+-
 accessibility/source/extended/AccessibleGridControlHeaderCell.cxx      |    5 -
 accessibility/source/extended/AccessibleGridControlTable.cxx           |   38 
++++-----
 accessibility/source/extended/AccessibleGridControlTableBase.cxx       |   22 
+++--
 accessibility/source/extended/AccessibleGridControlTableCell.cxx       |   38 
++++-----
 include/svtools/accessibletable.hxx                                    |    2 
 svtools/source/table/tablecontrol_impl.cxx                             |    2 
 11 files changed, 107 insertions(+), 127 deletions(-)

New commits:
commit 158b4df6033d4fdadadebeaa6099465fdef2e368
Author: Michael Stahl <mst...@redhat.com>
Date:   Mon Dec 16 16:16:15 2013 +0100

    svtools: rename IAccessibleTableControl::dispose()
    
    ... to not confuse it with XComponent::dispose().
    
    Change-Id: I056fdf77f9116d1c22f8ca9313a0ea313fb1c4aa

diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx 
b/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx
index 3752fcc..8996a64 100644
--- a/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx
+++ b/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx
@@ -228,7 +228,7 @@ protected:
     {
         return this;
     }
-    void dispose();
+    void DisposeAccessImpl() SAL_OVERRIDE;
     virtual sal_Bool isAlive() const
     {
         return isContextAlive();
diff --git a/accessibility/source/extended/AccessibleGridControl.cxx 
b/accessibility/source/extended/AccessibleGridControl.cxx
index c56f6bd..5ee23f6 100644
--- a/accessibility/source/extended/AccessibleGridControl.cxx
+++ b/accessibility/source/extended/AccessibleGridControl.cxx
@@ -421,7 +421,7 @@ AccessibleGridControlAccess::~AccessibleGridControlAccess()
 }
 
 // 
-----------------------------------------------------------------------------
-void AccessibleGridControlAccess::dispose()
+void AccessibleGridControlAccess::DisposeAccessImpl()
 {
     SolarMutexGuard g;
 
diff --git a/include/svtools/accessibletable.hxx 
b/include/svtools/accessibletable.hxx
index 285ab84..8b89684 100644
--- a/include/svtools/accessibletable.hxx
+++ b/include/svtools/accessibletable.hxx
@@ -139,7 +139,7 @@ public:
 
     /** disposes the accessible implementation, so that it becomes defunc
     */
-    virtual void dispose() = 0;
+    virtual void DisposeAccessImpl() = 0;
 
     /** checks whether the accessible implementation, and its context, are 
still alive
         @return  <TRUE/>, if the object is not disposed or disposing.
diff --git a/svtools/source/table/tablecontrol_impl.cxx 
b/svtools/source/table/tablecontrol_impl.cxx
index e27dbac..f4238c9 100644
--- a/svtools/source/table/tablecontrol_impl.cxx
+++ b/svtools/source/table/tablecontrol_impl.cxx
@@ -2727,7 +2727,7 @@ namespace svt { namespace table
     void TableControl_Impl::disposeAccessible()
     {
         if ( m_pAccessibleTable )
-            m_pAccessibleTable->dispose();
+            m_pAccessibleTable->DisposeAccessImpl();
         m_pAccessibleTable = NULL;
     }
 
commit 449e0c9c7378ba32039bd5934c26011d682a8a91
Author: Michael Stahl <mst...@redhat.com>
Date:   Mon Dec 16 16:09:19 2013 +0100

    accessibility: don't crash if the TableControl is dead
    
    AccessibleGridControlAccess: clear the m_pTable member in dispose() so
    it is no longer accessed later.
    
    Change-Id: I490c84ce1bee55c9c69eb29b81ddfbe808301797

diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx 
b/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx
index c4ed353..3752fcc 100644
--- a/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx
+++ b/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx
@@ -195,7 +195,7 @@ class AccessibleGridControlAccess :public 
AccessibleGridControlAccess_Base
 private:
     ::com::sun::star::uno::Reference< 
::com::sun::star::accessibility::XAccessible >
                                         m_xParent;
-    ::svt::table::IAccessibleTable&    m_rTable;
+    ::svt::table::IAccessibleTable *    m_pTable;
 
     ::com::sun::star::uno::Reference< 
::com::sun::star::accessibility::XAccessibleContext >
                                 m_xContext;
diff --git a/accessibility/source/extended/AccessibleGridControl.cxx 
b/accessibility/source/extended/AccessibleGridControl.cxx
index 8ce5800..c56f6bd 100644
--- a/accessibility/source/extended/AccessibleGridControl.cxx
+++ b/accessibility/source/extended/AccessibleGridControl.cxx
@@ -407,10 +407,11 @@ void AccessibleGridControl::commitTableEvent(sal_Int16 
_nEventId,const Any& _rNe
 // ============================================================================
 
 // 
-----------------------------------------------------------------------------
-AccessibleGridControlAccess::AccessibleGridControlAccess( const Reference< 
XAccessible >& _rxParent, IAccessibleTable& _rTable )
-        :m_xParent( _rxParent )
-        ,m_rTable( _rTable )
-        ,m_pContext( NULL )
+AccessibleGridControlAccess::AccessibleGridControlAccess(
+        const Reference< XAccessible >& rxParent, IAccessibleTable& rTable )
+    : m_xParent( rxParent )
+    , m_pTable( & rTable )
+    , m_pContext( 0 )
 {
 }
 
@@ -424,6 +425,7 @@ void AccessibleGridControlAccess::dispose()
 {
     SolarMutexGuard g;
 
+    m_pTable = 0;
     m_pContext = NULL;
     ::comphelper::disposeComponent( m_xContext );
 }
@@ -441,8 +443,9 @@ Reference< XAccessibleContext > SAL_CALL 
AccessibleGridControlAccess::getAccessi
     if ( m_pContext && !m_pContext->isAlive() )
         m_xContext = m_pContext = NULL;
 
-    if ( !m_xContext.is() )
-        m_xContext = m_pContext = new AccessibleGridControl( m_xParent, this, 
m_rTable );
+    if (!m_xContext.is() && m_pTable)
+        m_xContext = m_pContext =
+            new AccessibleGridControl(m_xParent, this, *m_pTable);
 
     return m_xContext;
 }
commit 9eccfd86eea1603bdca9f31f3984dcf464406bbc
Author: Michael Stahl <mst...@redhat.com>
Date:   Mon Dec 16 15:35:59 2013 +0100

    accessibility: Mutex cleanup in AccessibleGridControl* classes
    
    For unknown reasons this uses both SolarMutex and a OBaseMutex::m_aMutex
    to lock some but not all methods, which seems odd.
    
    - remove a third mutex AccessibleGridControl::m_aMutex that appears
      unused
    - lock OBaseMutex::m_aMutex in AccessibleGridControlBase::isAlive()
      which accesses rBHelper members, which should be sufficient
    - lock SolarMutex in all UNO methods
    - remove misc weird stuff like TC_SolarMethodGuard
    
    Change-Id: I8321757fb4a5043a05c23f2dc9801f5d8c8d911e

diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx 
b/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx
index e92e495..c4ed353 100644
--- a/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx
+++ b/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx
@@ -193,7 +193,6 @@ class AccessibleGridControlAccess :public 
AccessibleGridControlAccess_Base
     ,public ::svt::table::IAccessibleTableControl
 {
 private:
-    ::osl::Mutex                m_aMutex;
     ::com::sun::star::uno::Reference< 
::com::sun::star::accessibility::XAccessible >
                                         m_xParent;
     ::svt::table::IAccessibleTable&    m_rTable;
diff --git 
a/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx 
b/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx
index 52fdce8..fb130c3 100644
--- a/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx
+++ b/accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx
@@ -286,11 +286,6 @@ protected:
     void ensureIsAlive() const
         throw ( ::com::sun::star::lang::DisposedException );
 
-    /** @return  The ::osl::Mutex member provided by the class OBaseMutex. */
-    inline ::osl::Mutex& getOslMutex();
-    /** @return  Pointer to the global ::osl::Mutex. */
-    static inline ::osl::Mutex* getOslGlobalMutex();
-
     /** Changes the name of the object (flat assignment, no notify).
         @attention  This method requires a locked mutex. */
     inline void implSetName( const OUString& rName );
@@ -312,13 +307,6 @@ protected:
     ::comphelper::AccessibleEventNotifier::TClientId getClientId() const { 
return m_aClientId; }
     void setClientId(::comphelper::AccessibleEventNotifier::TClientId 
_aNewClientId) { m_aClientId = _aNewClientId; }
 
-public:
-    // public versions of internal helper methods, with access control
-    struct TC_AccessControl { friend class TC_SolarMethodGuard; private: 
TC_AccessControl() { } };
-
-    inline ::osl::Mutex&    getMutex( const TC_AccessControl& ) { return 
getOslMutex(); }
-    inline void             ensureIsAlive( const TC_AccessControl& ) { 
ensureIsAlive(); }
-
 protected:
     // members ----------------------------------------------------------------
 
@@ -387,23 +375,6 @@ private:
     GridControlAccessibleElement& operator=( const 
GridControlAccessibleElement& ); // never implemented
 };
 
-// ============================================================================
-// a helper class for protecting methods which need to lock the solar mutex in 
addition to the own mutex
-
-typedef ::osl::MutexGuard OslMutexGuard;
-
-class TC_SolarMethodGuard : public SolarMutexGuard, public OslMutexGuard
-{
-public:
-    inline TC_SolarMethodGuard( AccessibleGridControlBase& _rOwner, bool 
_bEnsureAlive = true )
-        : SolarMutexGuard(),
-        OslMutexGuard( _rOwner.getMutex( 
AccessibleGridControlBase::TC_AccessControl() ) )
-    {
-        if ( _bEnsureAlive )
-            _rOwner.ensureIsAlive( 
AccessibleGridControlBase::TC_AccessControl() );
-    }
-};
-
 // inlines --------------------------------------------------------------------
 
 inline ::svt::table::AccessibleTableControlObjType 
AccessibleGridControlBase::getType() const
@@ -411,16 +382,6 @@ inline ::svt::table::AccessibleTableControlObjType 
AccessibleGridControlBase::ge
     return m_eObjType;
 }
 
-inline ::osl::Mutex& AccessibleGridControlBase::getOslMutex()
-{
-    return m_aMutex;
-}
-
-inline ::osl::Mutex* AccessibleGridControlBase::getOslGlobalMutex()
-{
-    return ::osl::Mutex::getGlobalMutex();
-}
-
 inline void AccessibleGridControlBase::implSetName(
         const OUString& rName )
 {
diff --git a/accessibility/source/extended/AccessibleGridControl.cxx 
b/accessibility/source/extended/AccessibleGridControl.cxx
index df7b8a0..8ce5800 100644
--- a/accessibility/source/extended/AccessibleGridControl.cxx
+++ b/accessibility/source/extended/AccessibleGridControl.cxx
@@ -87,7 +87,7 @@ AccessibleGridControl::~AccessibleGridControl()
 
 void SAL_CALL AccessibleGridControl::disposing()
 {
-    ::osl::MutexGuard aGuard( getOslMutex() );
+    SolarMutexGuard g;
 
     m_pImpl->m_pTable       = NULL;
     m_pImpl->m_pColumnHeaderBar = NULL;
@@ -122,7 +122,6 @@ sal_Int32 SAL_CALL 
AccessibleGridControl::getAccessibleChildCount()
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
     ensureIsAlive();
     return m_aTable.GetAccessibleControlCount();
 }
@@ -133,7 +132,6 @@ AccessibleGridControl::getAccessibleChild( sal_Int32 
nChildIndex )
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
 
     if (nChildIndex<0 || nChildIndex>=getAccessibleChildCount())
         throw IndexOutOfBoundsException();
@@ -177,6 +175,8 @@ AccessibleGridControl::getAccessibleChild( sal_Int32 
nChildIndex )
 sal_Int16 SAL_CALL AccessibleGridControl::getAccessibleRole()
     throw ( uno::RuntimeException )
 {
+    SolarMutexGuard g;
+
     ensureIsAlive();
     return AccessibleRole::PANEL;
 }
@@ -189,7 +189,6 @@ AccessibleGridControl::getAccessibleAtPoint( const 
awt::Point& rPoint )
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
     ensureIsAlive();
 
     Reference< XAccessible > xChild;
@@ -220,7 +219,6 @@ void SAL_CALL AccessibleGridControl::grabFocus()
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
     ensureIsAlive();
         m_aTable.GrabFocus();
 }
@@ -229,6 +227,8 @@ void SAL_CALL AccessibleGridControl::grabFocus()
 Any SAL_CALL AccessibleGridControl::getAccessibleKeyBinding()
     throw ( uno::RuntimeException )
 {
+    SolarMutexGuard g;
+
     ensureIsAlive();
     return Any();
 }
@@ -422,7 +422,7 @@ AccessibleGridControlAccess::~AccessibleGridControlAccess()
 // 
-----------------------------------------------------------------------------
 void AccessibleGridControlAccess::dispose()
 {
-    ::osl::MutexGuard aGuard( m_aMutex );
+    SolarMutexGuard g;
 
     m_pContext = NULL;
     ::comphelper::disposeComponent( m_xContext );
@@ -431,7 +431,7 @@ void AccessibleGridControlAccess::dispose()
 // 
-----------------------------------------------------------------------------
 Reference< XAccessibleContext > SAL_CALL 
AccessibleGridControlAccess::getAccessibleContext() throw ( RuntimeException )
 {
-    ::osl::MutexGuard aGuard( m_aMutex );
+    SolarMutexGuard g;
 
     OSL_ENSURE( ( m_pContext && m_xContext.is() ) || ( !m_pContext && 
!m_xContext.is() ),
         
"accessibility/extended/AccessibleGridControlAccess::getAccessibleContext: 
inconsistency!" );
diff --git a/accessibility/source/extended/AccessibleGridControlBase.cxx 
b/accessibility/source/extended/AccessibleGridControlBase.cxx
index 553ccbb..8df5cf6 100644
--- a/accessibility/source/extended/AccessibleGridControlBase.cxx
+++ b/accessibility/source/extended/AccessibleGridControlBase.cxx
@@ -72,7 +72,7 @@ AccessibleGridControlBase::~AccessibleGridControlBase()
 
 void SAL_CALL AccessibleGridControlBase::disposing()
 {
-    ::osl::MutexGuard aGuard( getOslMutex() );
+    SolarMutexGuard g;
 
     if ( getClientId( ) )
     {
@@ -90,7 +90,8 @@ void SAL_CALL AccessibleGridControlBase::disposing()
 Reference< XAccessible > SAL_CALL 
AccessibleGridControlBase::getAccessibleParent()
     throw ( uno::RuntimeException )
 {
-    ::osl::MutexGuard aGuard( getOslMutex() );
+    SolarMutexGuard g;
+
     ensureIsAlive();
     return m_xParent;
 }
@@ -98,7 +99,8 @@ Reference< XAccessible > SAL_CALL 
AccessibleGridControlBase::getAccessibleParent
 sal_Int32 SAL_CALL AccessibleGridControlBase::getAccessibleIndexInParent()
     throw ( uno::RuntimeException )
 {
-    ::osl::MutexGuard aGuard( getOslMutex() );
+    SolarMutexGuard g;
+
     ensureIsAlive();
 
     // -1 for child not found/no parent (according to specification)
@@ -133,7 +135,8 @@ sal_Int32 SAL_CALL 
AccessibleGridControlBase::getAccessibleIndexInParent()
 OUString SAL_CALL AccessibleGridControlBase::getAccessibleDescription()
     throw ( uno::RuntimeException )
 {
-    ::osl::MutexGuard aGuard( getOslMutex() );
+    SolarMutexGuard g;
+
     ensureIsAlive();
     return m_aDescription;
 }
@@ -141,7 +144,8 @@ OUString SAL_CALL 
AccessibleGridControlBase::getAccessibleDescription()
 OUString SAL_CALL AccessibleGridControlBase::getAccessibleName()
     throw ( uno::RuntimeException )
 {
-    ::osl::MutexGuard aGuard( getOslMutex() );
+    SolarMutexGuard g;
+
     ensureIsAlive();
     return m_aName;
 }
@@ -150,6 +154,8 @@ Reference< XAccessibleRelationSet > SAL_CALL
 AccessibleGridControlBase::getAccessibleRelationSet()
     throw ( uno::RuntimeException )
 {
+   SolarMutexGuard g;
+
    ensureIsAlive();
    // GridControl does not have relations.
    return new utl::AccessibleRelationSetHelper;
@@ -160,7 +166,7 @@ AccessibleGridControlBase::getAccessibleStateSet()
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     // don't check whether alive -> StateSet may contain DEFUNC
     return implCreateStateSetHelper();
 }
@@ -168,7 +174,8 @@ AccessibleGridControlBase::getAccessibleStateSet()
 lang::Locale SAL_CALL AccessibleGridControlBase::getLocale()
     throw ( IllegalAccessibleComponentStateException, uno::RuntimeException )
 {
-    ::osl::MutexGuard aGuard( getOslMutex() );
+    SolarMutexGuard g;
+
     ensureIsAlive();
     if( m_xParent.is() )
     {
@@ -216,7 +223,7 @@ sal_Bool SAL_CALL AccessibleGridControlBase::isShowing()
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     return implIsShowing();
 }
@@ -244,7 +251,8 @@ void SAL_CALL 
AccessibleGridControlBase::addAccessibleEventListener(
 {
     if ( _rxListener.is() )
     {
-        ::osl::MutexGuard aGuard( getOslMutex() );
+        SolarMutexGuard g;
+
         if ( !getClientId( ) )
             setClientId( AccessibleEventNotifier::registerClient( ) );
 
@@ -258,7 +266,8 @@ void SAL_CALL 
AccessibleGridControlBase::removeAccessibleEventListener(
 {
     if( _rxListener.is() && getClientId( ) )
     {
-    ::osl::MutexGuard aGuard( getOslMutex() );
+        SolarMutexGuard g;
+
         sal_Int32 nListenerCount = 
AccessibleEventNotifier::removeEventListener( getClientId( ), _rxListener );
     if ( !nListenerCount )
     {
@@ -339,6 +348,7 @@ sal_Bool AccessibleGridControlBase::implIsShowing()
 
 sal_Bool AccessibleGridControlBase::isAlive() const
 {
+    ::osl::MutexGuard g(m_aMutex); // guards rBHelper members
     return !rBHelper.bDisposed && !rBHelper.bInDispose && &m_aTable;
 }
 
@@ -353,7 +363,6 @@ Rectangle AccessibleGridControlBase::getBoundingBox()
     throw ( lang::DisposedException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
     ensureIsAlive();
     Rectangle aRect = implGetBoundingBox();
     if ( 0 == aRect.Left() && 0 == aRect.Top() && 0 == aRect.Right() && 0 == 
aRect.Bottom() )
@@ -367,7 +376,6 @@ Rectangle 
AccessibleGridControlBase::getBoundingBoxOnScreen()
     throw ( lang::DisposedException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
     ensureIsAlive();
     Rectangle aRect = implGetBoundingBoxOnScreen();
     if ( 0 == aRect.Left() && 0 == aRect.Top() && 0 == aRect.Right() && 0 == 
aRect.Bottom() )
@@ -380,7 +388,8 @@ Rectangle 
AccessibleGridControlBase::getBoundingBoxOnScreen()
 void AccessibleGridControlBase::commitEvent(
         sal_Int16 _nEventId, const Any& _rNewValue, const Any& _rOldValue )
 {
-    ::osl::ClearableMutexGuard aGuard( getOslMutex() );
+    SolarMutexGuard g;
+
     if ( !getClientId( ) )
             // if we don't have a client id for the notifier, then we don't 
have listeners, then
             // we don't need to notify anything
@@ -441,7 +450,7 @@ Reference<XAccessible > SAL_CALL 
AccessibleGridControlBase::getAccessibleAtPoint
 sal_Int32 SAL_CALL AccessibleGridControlBase::getForeground(  ) throw 
(::com::sun::star::uno::RuntimeException)
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
 
     sal_Int32 nColor = 0;
@@ -466,7 +475,7 @@ sal_Int32 SAL_CALL 
AccessibleGridControlBase::getForeground(  ) throw (::com::su
 sal_Int32 SAL_CALL AccessibleGridControlBase::getBackground(  ) throw 
(::com::sun::star::uno::RuntimeException)
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     sal_Int32 nColor = 0;
     Window* pInst = m_aTable.GetWindowInstance();
@@ -498,6 +507,8 @@ IMPLEMENT_FORWARD_XTYPEPROVIDER2( 
GridControlAccessibleElement, AccessibleGridCo
 
 Reference< XAccessibleContext > SAL_CALL 
GridControlAccessibleElement::getAccessibleContext() throw ( 
uno::RuntimeException )
 {
+    SolarMutexGuard g;
+
     ensureIsAlive();
     return this;
 }
diff --git a/accessibility/source/extended/AccessibleGridControlHeader.cxx 
b/accessibility/source/extended/AccessibleGridControlHeader.cxx
index 0bc1649..24f3116 100644
--- a/accessibility/source/extended/AccessibleGridControlHeader.cxx
+++ b/accessibility/source/extended/AccessibleGridControlHeader.cxx
@@ -64,7 +64,6 @@ AccessibleGridControlHeader::getAccessibleChild( sal_Int32 
nChildIndex )
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
 
     if (nChildIndex<0 || nChildIndex>=getAccessibleChildCount())
         throw IndexOutOfBoundsException();
@@ -100,7 +99,7 @@ AccessibleGridControlHeader::getAccessibleAtPoint( const 
awt::Point& rPoint )
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
 
     sal_Int32 nRow = 0;
@@ -132,7 +131,7 @@ OUString SAL_CALL 
AccessibleGridControlHeader::getAccessibleRowDescription( sal_
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidRow( nRow );
     return OUString();  // no headers in headers
@@ -142,7 +141,7 @@ OUString SAL_CALL 
AccessibleGridControlHeader::getAccessibleColumnDescription( s
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidColumn( nColumn );
     return OUString();  // no headers in headers
@@ -151,6 +150,8 @@ OUString SAL_CALL 
AccessibleGridControlHeader::getAccessibleColumnDescription( s
 Reference< XAccessibleTable > SAL_CALL 
AccessibleGridControlHeader::getAccessibleRowHeaders()
     throw ( uno::RuntimeException )
 {
+    SolarMutexGuard g;
+
     ensureIsAlive();
     return NULL;        // no headers in headers
 }
@@ -158,6 +159,8 @@ Reference< XAccessibleTable > SAL_CALL 
AccessibleGridControlHeader::getAccessibl
 Reference< XAccessibleTable > SAL_CALL 
AccessibleGridControlHeader::getAccessibleColumnHeaders()
     throw ( uno::RuntimeException )
 {
+    SolarMutexGuard g;
+
     ensureIsAlive();
     return NULL;        // no headers in headers
 }
diff --git a/accessibility/source/extended/AccessibleGridControlHeaderCell.cxx 
b/accessibility/source/extended/AccessibleGridControlHeaderCell.cxx
index 548c21b..f716a8a 100644
--- a/accessibility/source/extended/AccessibleGridControlHeaderCell.cxx
+++ b/accessibility/source/extended/AccessibleGridControlHeaderCell.cxx
@@ -45,7 +45,6 @@ 
AccessibleGridControlHeaderCell::AccessibleGridControlHeaderCell(sal_Int32 _nCol
 */
 ::utl::AccessibleStateSetHelper* 
AccessibleGridControlHeaderCell::implCreateStateSetHelper()
 {
-    ::osl::MutexGuard aGuard( getOslMutex() );
     ::utl::AccessibleStateSetHelper*
         pStateSetHelper = new ::utl::AccessibleStateSetHelper;
 
@@ -55,7 +54,6 @@ 
AccessibleGridControlHeaderCell::AccessibleGridControlHeaderCell(sal_Int32 _nCol
         if( implIsShowing() )
             pStateSetHelper->AddState( AccessibleStateType::SHOWING );
 
-        SolarMutexGuard aSolarGuard;
         pStateSetHelper->AddState( AccessibleStateType::VISIBLE );
         pStateSetHelper->AddState( AccessibleStateType::FOCUSABLE );
         pStateSetHelper->AddState( AccessibleStateType::TRANSIENT );
@@ -163,7 +161,8 @@ Rectangle 
AccessibleGridControlHeaderCell::implGetBoundingBoxOnScreen()
 sal_Int32 SAL_CALL 
AccessibleGridControlHeaderCell::getAccessibleIndexInParent()
     throw ( RuntimeException )
 {
-    ::osl::MutexGuard aGuard( getOslMutex() );
+    SolarMutexGuard g;
+
     ensureIsAlive();
     sal_Int32 nIndex = m_nColumnRowId;
     return nIndex;
diff --git a/accessibility/source/extended/AccessibleGridControlTable.cxx 
b/accessibility/source/extended/AccessibleGridControlTable.cxx
index 3b08ead..5b31740 100644
--- a/accessibility/source/extended/AccessibleGridControlTable.cxx
+++ b/accessibility/source/extended/AccessibleGridControlTable.cxx
@@ -58,7 +58,7 @@ AccessibleGridControlTable::getAccessibleChild( sal_Int32 
nChildIndex )
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidIndex( nChildIndex );
     sal_Int32 nCount = getAccessibleChildCount();
@@ -95,7 +95,7 @@ AccessibleGridControlTable::getAccessibleAtPoint( const 
awt::Point& rPoint )
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
 
     Reference< XAccessible > xChild;
@@ -110,7 +110,7 @@ void SAL_CALL AccessibleGridControlTable::grabFocus()
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     m_aTable.GrabFocus();
 }
@@ -128,7 +128,7 @@ OUString SAL_CALL 
AccessibleGridControlTable::getAccessibleRowDescription( sal_I
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidRow( nRow );
     return m_aTable.GetRowDescription( nRow );
@@ -138,7 +138,7 @@ OUString SAL_CALL 
AccessibleGridControlTable::getAccessibleColumnDescription( sa
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidColumn( nColumn );
     return m_aTable.GetColumnDescription( (sal_uInt16)nColumn );
@@ -147,7 +147,8 @@ OUString SAL_CALL 
AccessibleGridControlTable::getAccessibleColumnDescription( sa
 Reference< XAccessibleTable > SAL_CALL 
AccessibleGridControlTable::getAccessibleRowHeaders()
     throw ( uno::RuntimeException )
 {
-    ::osl::MutexGuard aGuard( getOslMutex() );
+    SolarMutexGuard g;
+
     ensureIsAlive();
     if(m_aTable.HasColHeader())
         return implGetHeaderBar( 1 );
@@ -158,7 +159,8 @@ Reference< XAccessibleTable > SAL_CALL 
AccessibleGridControlTable::getAccessible
 Reference< XAccessibleTable > SAL_CALL 
AccessibleGridControlTable::getAccessibleColumnHeaders()
     throw ( uno::RuntimeException )
 {
-    ::osl::MutexGuard aGuard( getOslMutex() );
+    SolarMutexGuard g;
+
     ensureIsAlive();
     return implGetHeaderBar( 0 );
 }
@@ -167,7 +169,7 @@ Sequence< sal_Int32 > SAL_CALL 
AccessibleGridControlTable::getSelectedAccessible
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     Sequence< sal_Int32 > aSelSeq;
     implGetSelectedRows( aSelSeq );
@@ -186,7 +188,7 @@ sal_Bool SAL_CALL 
AccessibleGridControlTable::isAccessibleRowSelected( sal_Int32
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidRow( nRow );
     sal_Bool bSelected = sal_False;
@@ -215,7 +217,7 @@ Reference< XAccessible > SAL_CALL 
AccessibleGridControlTable::getAccessibleCellA
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidAddress( nRow, nColumn );
     sal_Int32 nCount = getAccessibleChildCount();
@@ -239,7 +241,7 @@ sal_Bool SAL_CALL 
AccessibleGridControlTable::isAccessibleSelected(
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidAddress( nRow, nColumn );
     (void) nColumn;
@@ -250,7 +252,7 @@ void SAL_CALL 
AccessibleGridControlTable::selectAccessibleChild( sal_Int32 nChil
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidIndex( nChildIndex );
     sal_Int32 nColumns = m_aTable.GetColumnCount();
@@ -261,7 +263,7 @@ sal_Bool SAL_CALL 
AccessibleGridControlTable::isAccessibleChildSelected( sal_Int
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidIndex( nChildIndex );
     sal_Int32 nColumns = m_aTable.GetColumnCount();
@@ -272,7 +274,7 @@ void SAL_CALL 
AccessibleGridControlTable::clearAccessibleSelection()
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     m_aTable.SelectAllRows( false );
 }
@@ -280,7 +282,7 @@ void SAL_CALL 
AccessibleGridControlTable::selectAllAccessibleChildren()
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     Sequence< sal_Int32 > selectedRows = getSelectedAccessibleRows();
     for(int i=0;i<m_aTable.GetRowCount();i++)
@@ -290,7 +292,7 @@ sal_Int32 SAL_CALL 
AccessibleGridControlTable::getSelectedAccessibleChildCount()
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     Sequence< sal_Int32 > selectedRows = getSelectedAccessibleRows();
     sal_Int32 nColumns = m_aTable.GetColumnCount();
@@ -301,7 +303,7 @@ AccessibleGridControlTable::getSelectedAccessibleChild( 
sal_Int32 nSelectedChild
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     if(isAccessibleChildSelected(nSelectedChildIndex))
         return getAccessibleChild(nSelectedChildIndex);
@@ -314,7 +316,7 @@ void SAL_CALL 
AccessibleGridControlTable::deselectAccessibleChild(
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     (void)nSelectedChildIndex;
 }
diff --git a/accessibility/source/extended/AccessibleGridControlTableBase.cxx 
b/accessibility/source/extended/AccessibleGridControlTableBase.cxx
index f6d7570..737a59e 100644
--- a/accessibility/source/extended/AccessibleGridControlTableBase.cxx
+++ b/accessibility/source/extended/AccessibleGridControlTableBase.cxx
@@ -58,7 +58,7 @@ sal_Int32 SAL_CALL 
AccessibleGridControlTableBase::getAccessibleChildCount()
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     sal_Int32 nChildren = 0;
     if(m_eObjType == TCTYPE_ROWHEADERBAR)
@@ -73,6 +73,8 @@ sal_Int32 SAL_CALL 
AccessibleGridControlTableBase::getAccessibleChildCount()
 sal_Int16 SAL_CALL AccessibleGridControlTableBase::getAccessibleRole()
     throw ( uno::RuntimeException )
 {
+    SolarMutexGuard g;
+
     ensureIsAlive();
     return AccessibleRole::TABLE;
 }
@@ -83,7 +85,7 @@ sal_Int32 SAL_CALL 
AccessibleGridControlTableBase::getAccessibleRowCount()
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     return  m_aTable.GetRowCount();
 }
@@ -92,7 +94,7 @@ sal_Int32 SAL_CALL 
AccessibleGridControlTableBase::getAccessibleColumnCount()
     throw ( uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     return m_aTable.GetColumnCount();
 }
@@ -102,7 +104,7 @@ sal_Int32 SAL_CALL 
AccessibleGridControlTableBase::getAccessibleRowExtentAt(
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidAddress( nRow, nColumn );
     return 1;   // merged cells not supported
@@ -113,7 +115,7 @@ sal_Int32 SAL_CALL 
AccessibleGridControlTableBase::getAccessibleColumnExtentAt(
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidAddress( nRow, nColumn );
     return 1;   // merged cells not supported
@@ -122,6 +124,8 @@ sal_Int32 SAL_CALL 
AccessibleGridControlTableBase::getAccessibleColumnExtentAt(
 Reference< XAccessible > SAL_CALL 
AccessibleGridControlTableBase::getAccessibleCaption()
     throw ( uno::RuntimeException )
 {
+    SolarMutexGuard g;
+
     ensureIsAlive();
     return NULL;    // not supported
 }
@@ -129,6 +133,8 @@ Reference< XAccessible > SAL_CALL 
AccessibleGridControlTableBase::getAccessibleC
 Reference< XAccessible > SAL_CALL 
AccessibleGridControlTableBase::getAccessibleSummary()
     throw ( uno::RuntimeException )
 {
+    SolarMutexGuard g;
+
     ensureIsAlive();
     return NULL;    // not supported
 }
@@ -138,7 +144,7 @@ sal_Int32 SAL_CALL 
AccessibleGridControlTableBase::getAccessibleIndex(
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidAddress( nRow, nColumn );
     return implGetChildIndex( nRow, nColumn );
@@ -148,7 +154,7 @@ sal_Int32 SAL_CALL 
AccessibleGridControlTableBase::getAccessibleRow( sal_Int32 n
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidIndex( nChildIndex );
     return implGetRow( nChildIndex );
@@ -158,7 +164,7 @@ sal_Int32 SAL_CALL 
AccessibleGridControlTableBase::getAccessibleColumn( sal_Int3
     throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
 {
     SolarMutexGuard aSolarGuard;
-    ::osl::MutexGuard aGuard( getOslMutex() );
+
     ensureIsAlive();
     ensureIsValidIndex( nChildIndex );
     return implGetColumn( nChildIndex );
diff --git a/accessibility/source/extended/AccessibleGridControlTableCell.cxx 
b/accessibility/source/extended/AccessibleGridControlTableCell.cxx
index 1f70088..84fdb1a 100644
--- a/accessibility/source/extended/AccessibleGridControlTableCell.cxx
+++ b/accessibility/source/extended/AccessibleGridControlTableCell.cxx
@@ -80,7 +80,7 @@ namespace accessibility
     void SAL_CALL AccessibleGridControlCell::grabFocus() throw ( 
RuntimeException )
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         m_aTable.GoToCell( m_nColPos, m_nRowPos );
     }
     //// 
-----------------------------------------------------------------------------
@@ -140,7 +140,6 @@ namespace accessibility
     ::com::sun::star::awt::Rectangle SAL_CALL 
AccessibleGridControlTableCell::getCharacterBounds( sal_Int32 nIndex ) throw 
(IndexOutOfBoundsException, RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
 
         ensureIsAlive();
         if ( !implIsValidIndex( nIndex, implGetText().getLength() ) )
@@ -156,7 +155,7 @@ namespace accessibility
     sal_Int32 SAL_CALL AccessibleGridControlTableCell::getIndexAtPoint( const 
::com::sun::star::awt::Point& _aPoint ) throw (RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         ensureIsAlive();
 
         return m_aTable.GetFieldIndexAtPoint( getRowPos(), getColumnPos(), 
VCLPoint( _aPoint ) );
@@ -195,9 +194,6 @@ namespace accessibility
     */
     ::utl::AccessibleStateSetHelper* 
AccessibleGridControlTableCell::implCreateStateSetHelper()
     {
-        SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
-
         ::utl::AccessibleStateSetHelper* pStateSetHelper = new 
::utl::AccessibleStateSetHelper;
 
         if( isAlive() )
@@ -220,6 +216,8 @@ namespace accessibility
     /** @return  The XAccessibleContext interface of this object. */
     Reference< XAccessibleContext > SAL_CALL 
AccessibleGridControlTableCell::getAccessibleContext() throw ( RuntimeException 
)
     {
+        SolarMutexGuard g;
+
         ensureIsAlive();
         return this;
     }
@@ -230,7 +228,7 @@ namespace accessibility
             throw ( ::com::sun::star::uno::RuntimeException )
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         ensureIsAlive();
 
         return ( getRowPos() * m_aTable.GetColumnCount() ) + getColumnPos();
@@ -243,7 +241,6 @@ namespace accessibility
     sal_Bool SAL_CALL AccessibleGridControlTableCell::setCaretPosition ( 
sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, 
::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
 
         if ( !implIsValidRange( nIndex, nIndex, implGetText().getLength() ) )
             throw IndexOutOfBoundsException();
@@ -253,13 +250,12 @@ namespace accessibility
     sal_Unicode SAL_CALL AccessibleGridControlTableCell::getCharacter( 
sal_Int32 nIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, 
::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         return OCommonAccessibleText::getCharacter( nIndex );
     }
     ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > 
SAL_CALL AccessibleGridControlTableCell::getCharacterAttributes( sal_Int32 
nIndex, const ::com::sun::star::uno::Sequence< OUString >& ) throw 
(::com::sun::star::lang::IndexOutOfBoundsException, 
::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
 
         OUString sText( implGetText() );
 
@@ -271,32 +267,32 @@ namespace accessibility
     sal_Int32 SAL_CALL AccessibleGridControlTableCell::getCharacterCount(  ) 
throw (::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         return OCommonAccessibleText::getCharacterCount(  );
     }
 
     OUString SAL_CALL AccessibleGridControlTableCell::getSelectedText(  ) 
throw (::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         return OCommonAccessibleText::getSelectedText(  );
     }
     sal_Int32 SAL_CALL AccessibleGridControlTableCell::getSelectionStart(  ) 
throw (::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         return OCommonAccessibleText::getSelectionStart(  );
     }
     sal_Int32 SAL_CALL AccessibleGridControlTableCell::getSelectionEnd(  ) 
throw (::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         return OCommonAccessibleText::getSelectionEnd(  );
     }
     sal_Bool SAL_CALL AccessibleGridControlTableCell::setSelection( sal_Int32 
nStartIndex, sal_Int32 nEndIndex ) throw 
(::com::sun::star::lang::IndexOutOfBoundsException, 
::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         if ( !implIsValidRange( nStartIndex, nEndIndex, 
implGetText().getLength() ) )
             throw IndexOutOfBoundsException();
 
@@ -305,37 +301,37 @@ namespace accessibility
     OUString SAL_CALL AccessibleGridControlTableCell::getText(  ) throw 
(::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         return OCommonAccessibleText::getText(  );
     }
     OUString SAL_CALL AccessibleGridControlTableCell::getTextRange( sal_Int32 
nStartIndex, sal_Int32 nEndIndex ) throw 
(::com::sun::star::lang::IndexOutOfBoundsException, 
::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         return OCommonAccessibleText::getTextRange( nStartIndex, nEndIndex );
     }
     ::com::sun::star::accessibility::TextSegment SAL_CALL 
AccessibleGridControlTableCell::getTextAtIndex( sal_Int32 nIndex, sal_Int16 
aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, 
::com::sun::star::lang::IllegalArgumentException, 
::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         return OCommonAccessibleText::getTextAtIndex( nIndex ,aTextType);
     }
     ::com::sun::star::accessibility::TextSegment SAL_CALL 
AccessibleGridControlTableCell::getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 
aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, 
::com::sun::star::lang::IllegalArgumentException, 
::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         return OCommonAccessibleText::getTextBeforeIndex( nIndex ,aTextType);
     }
     ::com::sun::star::accessibility::TextSegment SAL_CALL 
AccessibleGridControlTableCell::getTextBehindIndex( sal_Int32 nIndex, sal_Int16 
aTextType ) throw (::com::sun::star::lang::IndexOutOfBoundsException, 
::com::sun::star::lang::IllegalArgumentException, 
::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         return OCommonAccessibleText::getTextBehindIndex( nIndex ,aTextType);
     }
     sal_Bool SAL_CALL AccessibleGridControlTableCell::copyText( sal_Int32 
nStartIndex, sal_Int32 nEndIndex ) throw 
(::com::sun::star::lang::IndexOutOfBoundsException, 
::com::sun::star::uno::RuntimeException)
     {
         SolarMutexGuard aSolarGuard;
-        ::osl::MutexGuard aGuard( getOslMutex() );
+
         OUString sText = implGetText();
         checkIndex_Impl( nStartIndex, sText );
         checkIndex_Impl( nEndIndex, sText );
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to