diff options
author | Michael Stahl <mstahl@redhat.com> | 2013-12-16 15:35:59 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2013-12-16 16:21:08 +0100 |
commit | 9eccfd86eea1603bdca9f31f3984dcf464406bbc (patch) | |
tree | 5ed0d7a0d58744b994fbf22c799649258162575e /accessibility/inc | |
parent | Use sal_Int32 to satisfy oox/helper/helper.hxx's convertLittleEndian (diff) | |
download | core-9eccfd86eea1603bdca9f31f3984dcf464406bbc.tar.gz core-9eccfd86eea1603bdca9f31f3984dcf464406bbc.zip |
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
Diffstat (limited to 'accessibility/inc')
-rw-r--r-- | accessibility/inc/accessibility/extended/AccessibleGridControl.hxx | 1 | ||||
-rw-r--r-- | accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx | 39 |
2 files changed, 0 insertions, 40 deletions
diff --git a/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx b/accessibility/inc/accessibility/extended/AccessibleGridControl.hxx index e92e4953bd56..c4ed353c28f6 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 52fdce89540a..fb130c39ea41 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 ) { |