diff options
author | Michael Stahl <mstahl@redhat.com> | 2014-02-10 21:08:07 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2014-06-10 16:33:57 +0100 |
commit | 8335ab14650abc88421eba2a33817bb3bb033cc6 (patch) | |
tree | 92ec74a20d2d966670c4f42815505d004aab04ee /accessibility | |
parent | 9a4df93cc6267f5e9a341445358bba1a6ba3260b (diff) |
accessibility: add some missing locks in new code
Change-Id: Ic38a07c592a89973ca1df807505f87910e84a17f
Diffstat (limited to 'accessibility')
4 files changed, 18 insertions, 10 deletions
diff --git a/accessibility/inc/accessibility/extended/accessiblelistbox.hxx b/accessibility/inc/accessibility/extended/accessiblelistbox.hxx index 9354e48511a9..ee0ae645fd89 100644 --- a/accessibility/inc/accessibility/extended/accessiblelistbox.hxx +++ b/accessibility/inc/accessibility/extended/accessiblelistbox.hxx @@ -66,6 +66,8 @@ namespace accessibility void RemoveChildEntries(SvTreeListEntry*); + sal_Int32 GetRoleType(); + public: /** OAccessibleBase needs a valid view @param _rListBox @@ -112,9 +114,6 @@ namespace accessibility ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException); - // IA2 CWS - sal_Int32 SAL_CALL getRoleType(); - private: typedef std::map< SvTreeListEntry*, ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > > MAP_ENTRY; diff --git a/accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx b/accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx index 4eff637f39ab..07a08bc394b4 100644 --- a/accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx +++ b/accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx @@ -225,8 +225,7 @@ namespace accessibility private: ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > implGetParentAccessible( ) const; SvTreeListEntry* GetRealChild(sal_Int32 nIndex); - public: - sal_Int32 SAL_CALL getRoleType(); + sal_Int32 GetRoleType(); }; //........................................................................ diff --git a/accessibility/source/extended/accessiblelistbox.cxx b/accessibility/source/extended/accessiblelistbox.cxx index 2ebeb9d89591..ce6fbf9ded24 100644 --- a/accessibility/source/extended/accessiblelistbox.cxx +++ b/accessibility/source/extended/accessiblelistbox.cxx @@ -404,7 +404,7 @@ namespace accessibility return m_xParent; } // ----------------------------------------------------------------------------- - sal_Int32 SAL_CALL AccessibleListBox::getRoleType() + sal_Int32 AccessibleListBox::GetRoleType() { sal_Int32 nCase = 0; SvTreeListEntry* pEntry = getListBox()->GetEntry(0); @@ -432,8 +432,12 @@ namespace accessibility } return nCase; } - sal_Int16 SAL_CALL AccessibleListBox::getAccessibleRole( ) throw (RuntimeException) + + sal_Int16 SAL_CALL AccessibleListBox::getAccessibleRole() + throw (RuntimeException) { + ::comphelper::OExternalLockGuard aGuard( this ); + if(getListBox()) { short nType = getListBox()->GetAllEntriesAccessibleRoleType(); @@ -448,7 +452,7 @@ namespace accessibility if(!bHasButtons && (getListBox()->GetTreeFlags() & TREEFLAG_CHKBTN)) return AccessibleRole::LIST; else - if(getRoleType() == 0) + if (GetRoleType() == 0) return AccessibleRole::LIST; else return AccessibleRole::TREE; diff --git a/accessibility/source/extended/accessiblelistboxentry.cxx b/accessibility/source/extended/accessiblelistboxentry.cxx index 851158f5193a..1e6c27b5e98d 100644 --- a/accessibility/source/extended/accessiblelistboxentry.cxx +++ b/accessibility/source/extended/accessiblelistboxentry.cxx @@ -389,7 +389,7 @@ namespace accessibility return m_aEntryPath.empty() ? -1 : m_aEntryPath.back(); } // ----------------------------------------------------------------------------- - sal_Int32 SAL_CALL AccessibleListBoxEntry::getRoleType() + sal_Int32 AccessibleListBoxEntry::GetRoleType() { sal_Int32 nCase = 0; SvTreeListEntry* pEntry = getListBox()->GetEntry(0); @@ -420,6 +420,9 @@ namespace accessibility // ----------------------------------------------------------------------------- sal_Int16 SAL_CALL AccessibleListBoxEntry::getAccessibleRole( ) throw (RuntimeException) { + SolarMutexGuard aSolarGuard; + ::osl::MutexGuard aGuard( m_aMutex ); + SvTreeListBox* pBox = getListBox(); if(pBox) { @@ -448,7 +451,7 @@ namespace accessibility else { - if(getRoleType() == 0) + if (GetRoleType() == 0) return AccessibleRole::LIST_ITEM; else //o is: return AccessibleRole::LABEL; @@ -458,6 +461,9 @@ namespace accessibility // ----------------------------------------------------------------------------- OUString SAL_CALL AccessibleListBoxEntry::getAccessibleDescription( ) throw (RuntimeException) { + SolarMutexGuard aSolarGuard; + ::osl::MutexGuard aGuard( m_aMutex ); + SvTreeListEntry* pEntry = getListBox()->GetEntryFromPath( m_aEntryPath ); if( getAccessibleRole() == AccessibleRole::TREE_ITEM ) { |