summaryrefslogtreecommitdiff
path: root/accessibility
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-02-10 21:08:07 +0100
committerMichael Meeks <michael.meeks@collabora.com>2014-06-10 16:33:57 +0100
commit8335ab14650abc88421eba2a33817bb3bb033cc6 (patch)
tree92ec74a20d2d966670c4f42815505d004aab04ee /accessibility
parent9a4df93cc6267f5e9a341445358bba1a6ba3260b (diff)
accessibility: add some missing locks in new code
Change-Id: Ic38a07c592a89973ca1df807505f87910e84a17f
Diffstat (limited to 'accessibility')
-rw-r--r--accessibility/inc/accessibility/extended/accessiblelistbox.hxx5
-rw-r--r--accessibility/inc/accessibility/extended/accessiblelistboxentry.hxx3
-rw-r--r--accessibility/source/extended/accessiblelistbox.cxx10
-rw-r--r--accessibility/source/extended/accessiblelistboxentry.cxx10
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 )
{