[Libreoffice-commits] core.git: accessibility/source

Arnaud Versini Arnaud.Versini at libreoffice.org
Mon Nov 27 12:02:40 UTC 2017


 accessibility/source/extended/AccessibleBrowseBoxBase.cxx         |    3 +++
 accessibility/source/extended/AccessibleBrowseBoxCheckBoxCell.cxx |    1 +
 accessibility/source/extended/AccessibleBrowseBoxHeaderBar.cxx    |    6 ++++++
 accessibility/source/extended/AccessibleBrowseBoxTable.cxx        |    1 +
 accessibility/source/extended/AccessibleBrowseBoxTableBase.cxx    |    1 +
 accessibility/source/extended/AccessibleBrowseBoxTableCell.cxx    |    1 +
 6 files changed, 13 insertions(+)

New commits:
commit 2877aa089d9185ff25dbe8f9920611277750d5c8
Author: Arnaud Versini <Arnaud.Versini at libreoffice.org>
Date:   Sun Nov 19 19:23:10 2017 +0100

    accessibility : AccessibleBrowseBoxBase::isAlive is not thread safe
    
    Change-Id: I243328a662bf37944e1fa718f63a0e509250db15
    Reviewed-on: https://gerrit.libreoffice.org/44930
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/accessibility/source/extended/AccessibleBrowseBoxBase.cxx b/accessibility/source/extended/AccessibleBrowseBoxBase.cxx
index 1467c8335a4a..904e0846d8e2 100644
--- a/accessibility/source/extended/AccessibleBrowseBoxBase.cxx
+++ b/accessibility/source/extended/AccessibleBrowseBoxBase.cxx
@@ -175,6 +175,7 @@ OUString SAL_CALL AccessibleBrowseBoxBase::getAccessibleName()
 Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL
 AccessibleBrowseBoxBase::getAccessibleRelationSet()
 {
+    ::osl::MutexGuard aGuard( getMutex() );
     ensureIsAlive();
     // BrowseBox does not have relations.
        return new utl::AccessibleRelationSetHelper;
@@ -433,6 +434,7 @@ void AccessibleBrowseBoxBase::commitEvent(
 
 sal_Int16 SAL_CALL AccessibleBrowseBoxBase::getAccessibleRole()
 {
+    osl::MutexGuard aGuard( getMutex() );
     ensureIsAlive();
     sal_Int16 nRole = AccessibleRole::UNKNOWN;
     switch ( meObjType )
@@ -525,6 +527,7 @@ IMPLEMENT_FORWARD_XTYPEPROVIDER2( BrowseBoxAccessibleElement, AccessibleBrowseBo
 
 Reference< css::accessibility::XAccessibleContext > SAL_CALL BrowseBoxAccessibleElement::getAccessibleContext()
 {
+    osl::MutexGuard aGuard( getMutex() );
     ensureIsAlive();
     return this;
 }
diff --git a/accessibility/source/extended/AccessibleBrowseBoxCheckBoxCell.cxx b/accessibility/source/extended/AccessibleBrowseBoxCheckBoxCell.cxx
index d23340a2a07f..762728a934b3 100644
--- a/accessibility/source/extended/AccessibleBrowseBoxCheckBoxCell.cxx
+++ b/accessibility/source/extended/AccessibleBrowseBoxCheckBoxCell.cxx
@@ -46,6 +46,7 @@ namespace accessibility
 
     Reference< XAccessibleContext > SAL_CALL AccessibleCheckBoxCell::getAccessibleContext(  )
     {
+        osl::MutexGuard aGuard( getMutex() );
         ensureIsAlive();
         return this;
     }
diff --git a/accessibility/source/extended/AccessibleBrowseBoxHeaderBar.cxx b/accessibility/source/extended/AccessibleBrowseBoxHeaderBar.cxx
index 72a4c2d3397b..4497a93f496a 100644
--- a/accessibility/source/extended/AccessibleBrowseBoxHeaderBar.cxx
+++ b/accessibility/source/extended/AccessibleBrowseBoxHeaderBar.cxx
@@ -86,6 +86,8 @@ AccessibleBrowseBoxHeaderBar::getAccessibleAtPoint( const awt::Point& rPoint )
 
 void SAL_CALL AccessibleBrowseBoxHeaderBar::grabFocus()
 {
+    SolarMethodGuard aGuard(getMutex());
+
     ensureIsAlive();
     // focus on header not supported
 }
@@ -112,12 +114,16 @@ OUString SAL_CALL AccessibleBrowseBoxHeaderBar::getAccessibleColumnDescription(
 
 Reference< XAccessibleTable > SAL_CALL AccessibleBrowseBoxHeaderBar::getAccessibleRowHeaders()
 {
+    SolarMethodGuard aGuard(getMutex());
+
     ensureIsAlive();
     return nullptr;        // no headers in headers
 }
 
 Reference< XAccessibleTable > SAL_CALL AccessibleBrowseBoxHeaderBar::getAccessibleColumnHeaders()
 {
+   SolarMethodGuard aGuard(getMutex());
+
     ensureIsAlive();
     return nullptr;        // no headers in headers
 }
diff --git a/accessibility/source/extended/AccessibleBrowseBoxTable.cxx b/accessibility/source/extended/AccessibleBrowseBoxTable.cxx
index 08d2ce5fe4fe..40ce9340127d 100644
--- a/accessibility/source/extended/AccessibleBrowseBoxTable.cxx
+++ b/accessibility/source/extended/AccessibleBrowseBoxTable.cxx
@@ -60,6 +60,7 @@ AccessibleBrowseBoxTable::getAccessibleChild( sal_Int32 nChildIndex )
 
 sal_Int32 SAL_CALL AccessibleBrowseBoxTable::getAccessibleIndexInParent()
 {
+    osl::MutexGuard aGuard( getMutex() );
     ensureIsAlive();
     return BBINDEX_TABLE;
 }
diff --git a/accessibility/source/extended/AccessibleBrowseBoxTableBase.cxx b/accessibility/source/extended/AccessibleBrowseBoxTableBase.cxx
index 692d45e70750..160abb9f138b 100644
--- a/accessibility/source/extended/AccessibleBrowseBoxTableBase.cxx
+++ b/accessibility/source/extended/AccessibleBrowseBoxTableBase.cxx
@@ -61,6 +61,7 @@ sal_Int32 SAL_CALL AccessibleBrowseBoxTableBase::getAccessibleChildCount()
 
 sal_Int16 SAL_CALL AccessibleBrowseBoxTableBase::getAccessibleRole()
 {
+    osl::MutexGuard aGuard( getMutex() );
     ensureIsAlive();
     return AccessibleRole::TABLE;
 }
diff --git a/accessibility/source/extended/AccessibleBrowseBoxTableCell.cxx b/accessibility/source/extended/AccessibleBrowseBoxTableCell.cxx
index 69f163e05393..b267baf51163 100644
--- a/accessibility/source/extended/AccessibleBrowseBoxTableCell.cxx
+++ b/accessibility/source/extended/AccessibleBrowseBoxTableCell.cxx
@@ -197,6 +197,7 @@ namespace accessibility
     /** @return  The XAccessibleContext interface of this object. */
     Reference< XAccessibleContext > SAL_CALL AccessibleBrowseBoxTableCell::getAccessibleContext()
     {
+        osl::MutexGuard aGuard( getMutex() );
         ensureIsAlive();
         return this;
     }


More information about the Libreoffice-commits mailing list