sc/source/ui/Accessibility/AccessibleCell.cxx | 4 sc/source/ui/Accessibility/AccessibleCellBase.cxx | 18 +- sc/source/ui/Accessibility/AccessibleContextBase.cxx | 18 -- sc/source/ui/Accessibility/AccessibleDocument.cxx | 32 +-- sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx | 8 sc/source/ui/Accessibility/AccessibleEditObject.cxx | 6 sc/source/ui/Accessibility/AccessiblePageHeader.cxx | 8 sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx | 6 sc/source/ui/Accessibility/AccessiblePreviewCell.cxx | 8 sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx | 12 - sc/source/ui/Accessibility/AccessiblePreviewTable.cxx | 91 +++++------ sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx | 32 +-- sc/source/ui/Accessibility/AccessibleTableBase.cxx | 18 +- sc/source/ui/inc/AccessibleContextBase.hxx | 3 14 files changed, 127 insertions(+), 137 deletions(-)
New commits: commit c3de6327f0552e577aacab34d127ea86fdf0b85d Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Wed Apr 9 15:58:22 2025 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Thu Apr 10 19:44:33 2025 +0200 sc a11y: Flatten ScAccessiblePreviewTable::getAccessibleAtPoint Change-Id: I2bdbad8212fd8fd377f2616a7e322b5696171de5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183941 Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> Tested-by: Jenkins diff --git a/sc/source/ui/Accessibility/AccessiblePreviewTable.cxx b/sc/source/ui/Accessibility/AccessiblePreviewTable.cxx index 429dffe13783..178f1d0f13d1 100644 --- a/sc/source/ui/Accessibility/AccessiblePreviewTable.cxx +++ b/sc/source/ui/Accessibility/AccessiblePreviewTable.cxx @@ -389,50 +389,49 @@ sal_Int32 SAL_CALL ScAccessiblePreviewTable::getAccessibleColumn( sal_Int64 nChi uno::Reference< XAccessible > SAL_CALL ScAccessiblePreviewTable::getAccessibleAtPoint( const awt::Point& aPoint ) { - uno::Reference<XAccessible> xRet; - if (containsPoint(aPoint)) - { - SolarMutexGuard aGuard; - ensureAlive(); + if (!containsPoint(aPoint)) + return nullptr; - FillTableInfo(); + SolarMutexGuard aGuard; + ensureAlive(); - if ( mpTableInfo ) - { - SCCOL nCols = mpTableInfo->GetCols(); - SCROW nRows = mpTableInfo->GetRows(); - const ScPreviewColRowInfo* pColInfo = mpTableInfo->GetColInfo(); - const ScPreviewColRowInfo* pRowInfo = mpTableInfo->GetRowInfo(); + FillTableInfo(); + + if (!mpTableInfo) + return nullptr; + + SCCOL nCols = mpTableInfo->GetCols(); + SCROW nRows = mpTableInfo->GetRows(); + const ScPreviewColRowInfo* pColInfo = mpTableInfo->GetColInfo(); + const ScPreviewColRowInfo* pRowInfo = mpTableInfo->GetRowInfo(); - tools::Rectangle aScreenRect(GetBoundingBox()); + tools::Rectangle aScreenRect(GetBoundingBox()); - awt::Point aMovedPoint = aPoint; - aMovedPoint.X += aScreenRect.Left(); - aMovedPoint.Y += aScreenRect.Top(); + awt::Point aMovedPoint = aPoint; + aMovedPoint.X += aScreenRect.Left(); + aMovedPoint.Y += aScreenRect.Top(); - if ( nCols > 0 && nRows > 0 && aMovedPoint.X >= pColInfo[0].nPixelStart && aMovedPoint.Y >= pRowInfo[0].nPixelStart ) + if ( nCols > 0 && nRows > 0 && aMovedPoint.X >= pColInfo[0].nPixelStart && aMovedPoint.Y >= pRowInfo[0].nPixelStart ) + { + SCCOL nColIndex = 0; + while ( nColIndex < nCols && aMovedPoint.X > pColInfo[nColIndex].nPixelEnd ) + ++nColIndex; + SCROW nRowIndex = 0; + while ( nRowIndex < nRows && aMovedPoint.Y > pRowInfo[nRowIndex].nPixelEnd ) + ++nRowIndex; + if ( nColIndex < nCols && nRowIndex < nRows ) + { + try + { + return getAccessibleCellAt( nRowIndex, nColIndex ); + } + catch (uno::Exception&) { - SCCOL nColIndex = 0; - while ( nColIndex < nCols && aMovedPoint.X > pColInfo[nColIndex].nPixelEnd ) - ++nColIndex; - SCROW nRowIndex = 0; - while ( nRowIndex < nRows && aMovedPoint.Y > pRowInfo[nRowIndex].nPixelEnd ) - ++nRowIndex; - if ( nColIndex < nCols && nRowIndex < nRows ) - { - try - { - xRet = getAccessibleCellAt( nRowIndex, nColIndex ); - } - catch (uno::Exception&) - { - } - } } } } - return xRet; + return nullptr; } void SAL_CALL ScAccessiblePreviewTable::grabFocus() commit b0b37f0d98bf6f4bac90de6b0b588fd732209840 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Wed Apr 9 15:50:01 2025 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Thu Apr 10 19:44:25 2025 +0200 sc a11y: Drop ScAccessibleContextBase::IsObjectValid Use the equivalent base class method OAccessibleComponentHelper::ensureAlive instead. Change-Id: I27fd4ace99ffac9451e4dab76cba19a2a39f37ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183940 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/sc/source/ui/Accessibility/AccessibleCell.cxx b/sc/source/ui/Accessibility/AccessibleCell.cxx index 8cda34ab2170..98d6fc6a0447 100644 --- a/sc/source/ui/Accessibility/AccessibleCell.cxx +++ b/sc/source/ui/Accessibility/AccessibleCell.cxx @@ -135,7 +135,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessibleCell::getAccessibleAtPoint( void SAL_CALL ScAccessibleCell::grabFocus( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (getAccessibleParent().is() && mpViewShell) { uno::Reference<XAccessibleComponent> xAccessibleComponent(getAccessibleParent()->getAccessibleContext(), uno::UNO_QUERY); @@ -278,7 +278,7 @@ uno::Reference<XAccessibleRelationSet> SAL_CALL ScAccessibleCell::getAccessibleRelationSet() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); rtl::Reference<utl::AccessibleRelationSetHelper> pRelationSet; if (mpAccDoc) pRelationSet = mpAccDoc->GetRelationSet(&maCellAddress); diff --git a/sc/source/ui/Accessibility/AccessibleCellBase.cxx b/sc/source/ui/Accessibility/AccessibleCellBase.cxx index ebff91c101e2..8735629c858d 100644 --- a/sc/source/ui/Accessibility/AccessibleCellBase.cxx +++ b/sc/source/ui/Accessibility/AccessibleCellBase.cxx @@ -68,7 +68,7 @@ ScAccessibleCellBase::~ScAccessibleCellBase() bool ScAccessibleCellBase::isVisible() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); // test whether the cell is hidden (column/row - hidden/filtered) bool bVisible(true); if (mpDoc) @@ -87,7 +87,7 @@ bool ScAccessibleCellBase::isVisible() sal_Int32 SAL_CALL ScAccessibleCellBase::getForeground() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); sal_Int32 nColor(0); if (mpDoc) { @@ -126,7 +126,7 @@ sal_Int32 SAL_CALL ScAccessibleCellBase::getForeground() sal_Int32 SAL_CALL ScAccessibleCellBase::getBackground() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); sal_Int32 nColor(0); if (mpDoc) @@ -190,7 +190,7 @@ sal_Int64 ScAccessibleCellBase::getAccessibleIndexInParent() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); return mnIndex; } @@ -214,7 +214,7 @@ uno::Any SAL_CALL ScAccessibleCellBase::getCurrentValue() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); uno::Any aAny; if (mpDoc) { @@ -227,7 +227,7 @@ sal_Bool SAL_CALL ScAccessibleCellBase::setCurrentValue( const uno::Any& aNumber ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); double fValue = 0; bool bResult = false; if((aNumber >>= fValue) && mpDoc && mpDoc->GetDocumentShell()) @@ -294,7 +294,7 @@ bool ScAccessibleCellBase::IsEditable(sal_Int64 nParentStates) OUString ScAccessibleCellBase::GetNote() const { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); OUString sNote; if (mpDoc) { @@ -340,7 +340,7 @@ OUString ScAccessibleCellBase::GetNote() const OUString ScAccessibleCellBase::getShadowAttrs() const { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); table::ShadowFormat aShadowFmt; if (mpDoc) { @@ -420,7 +420,7 @@ OUString ScAccessibleCellBase::getShadowAttrs() const OUString ScAccessibleCellBase::getBorderAttrs() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); table::BorderLine aTopBorder; table::BorderLine aBottomBorder; table::BorderLine aLeftBorder; diff --git a/sc/source/ui/Accessibility/AccessibleContextBase.cxx b/sc/source/ui/Accessibility/AccessibleContextBase.cxx index c17991bc9e0d..f4d1a69c2c46 100644 --- a/sc/source/ui/Accessibility/AccessibleContextBase.cxx +++ b/sc/source/ui/Accessibility/AccessibleContextBase.cxx @@ -109,14 +109,14 @@ awt::Rectangle ScAccessibleContextBase::implGetBounds( ) awt::Point SAL_CALL ScAccessibleContextBase::getLocationOnScreen( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); return vcl::unohelper::ConvertToAWTPoint(GetBoundingBoxOnScreen().TopLeft()); } bool ScAccessibleContextBase::isShowing( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); bool bShowing(false); if (mxParent.is()) { @@ -164,7 +164,7 @@ sal_Int64 SAL_CALL ScAccessibleContextBase::getAccessibleIndexInParent() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); // Use a simple but slow solution for now. Optimize later. // Return -1 to indicate that this object's parent does not know about the // object. @@ -200,7 +200,7 @@ OUString SAL_CALL ScAccessibleContextBase::getAccessibleDescription() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (msDescription.isEmpty()) { OUString sDescription(createAccessibleDescription()); @@ -221,7 +221,7 @@ OUString SAL_CALL ScAccessibleContextBase::getAccessibleName() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (msName.isEmpty()) { OUString sName(createAccessibleName()); @@ -253,7 +253,7 @@ lang::Locale SAL_CALL ScAccessibleContextBase::getLocale() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (mxParent.is()) { uno::Reference<XAccessibleContext> xParentContext ( @@ -318,10 +318,4 @@ void ScAccessibleContextBase::CommitFocusLost() uno::Any()); } -void ScAccessibleContextBase::IsObjectValid() const -{ - if (rBHelper.bDisposed || rBHelper.bInDispose) - throw lang::DisposedException(); -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/Accessibility/AccessibleDocument.cxx b/sc/source/ui/Accessibility/AccessibleDocument.cxx index 42ba75f6433a..4963e96de9af 100644 --- a/sc/source/ui/Accessibility/AccessibleDocument.cxx +++ b/sc/source/ui/Accessibility/AccessibleDocument.cxx @@ -1591,7 +1591,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessibleDocument::getAccessibleAtPoin if (containsPoint(rPoint)) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (mpChildrenShapes) xAccessible = mpChildrenShapes->GetAt(rPoint); if(!xAccessible.is()) @@ -1617,7 +1617,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessibleDocument::getAccessibleAtPoin void SAL_CALL ScAccessibleDocument::grabFocus( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (!getAccessibleParent().is()) return; @@ -1642,7 +1642,7 @@ sal_Int64 SAL_CALL ScAccessibleDocument::getAccessibleChildCount() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); sal_Int64 nCount(1); if (mpChildrenShapes) nCount = mpChildrenShapes->GetCount(); // returns the count of the shapes inclusive the table @@ -1658,7 +1658,7 @@ uno::Reference<XAccessible> SAL_CALL ScAccessibleDocument::getAccessibleChild(sal_Int64 nIndex) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); uno::Reference<XAccessible> xAccessible; if (nIndex >= 0) { @@ -1749,7 +1749,7 @@ void SAL_CALL ScAccessibleDocument::selectAccessibleChild( sal_Int64 nChildIndex ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (!(mpChildrenShapes && mpViewShell)) return; @@ -1778,7 +1778,7 @@ sal_Bool SAL_CALL ScAccessibleDocument::isAccessibleChildSelected( sal_Int64 nChildIndex ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); bool bResult(false); if (mpChildrenShapes) @@ -1810,7 +1810,7 @@ void SAL_CALL ScAccessibleDocument::clearAccessibleSelection( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (mpChildrenShapes) mpChildrenShapes->DeselectAll(); //deselects all (also the table) @@ -1820,7 +1820,7 @@ void SAL_CALL ScAccessibleDocument::selectAllAccessibleChildren( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (mpChildrenShapes) mpChildrenShapes->SelectAll(); @@ -1836,7 +1836,7 @@ sal_Int64 SAL_CALL ScAccessibleDocument::getSelectedAccessibleChildCount( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); sal_Int64 nCount(0); if (mpChildrenShapes) @@ -1855,7 +1855,7 @@ uno::Reference<XAccessible > SAL_CALL ScAccessibleDocument::getSelectedAccessibleChild( sal_Int64 nSelectedChildIndex ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); uno::Reference<XAccessible> xAccessible; if (mpChildrenShapes) { @@ -1882,7 +1882,7 @@ void SAL_CALL ScAccessibleDocument::deselectAccessibleChild( sal_Int64 nChildIndex ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (!(mpChildrenShapes && mpViewShell)) return; @@ -1958,14 +1958,14 @@ tools::Rectangle ScAccessibleDocument::GetVisibleArea_Impl() const tools::Rectangle ScAccessibleDocument::GetVisibleArea() const { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); return maVisArea; } Point ScAccessibleDocument::LogicToPixel (const Point& rPoint) const { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); Point aPoint; ScGridWindow* pWin = static_cast<ScGridWindow*>(mpViewShell->GetWindowByPos(meSplitPos)); if (pWin) @@ -1979,7 +1979,7 @@ Point ScAccessibleDocument::LogicToPixel (const Point& rPoint) const Size ScAccessibleDocument::LogicToPixel (const Size& rSize) const { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); Size aSize; ScGridWindow* pWin = static_cast<ScGridWindow*>(mpViewShell->GetWindowByPos(meSplitPos)); if (pWin) @@ -2007,7 +2007,7 @@ OUString ScAccessibleDocument::createAccessibleName() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); OUString sName = ScResId(STR_ACC_DOC_NAME); sal_Int32 nNumber(sal_Int32(meSplitPos) + 1); sName += OUString::number(nNumber); @@ -2168,7 +2168,7 @@ sal_Int32 SAL_CALL ScAccessibleDocument::getForeground( ) sal_Int32 SAL_CALL ScAccessibleDocument::getBackground( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); return sal_Int32(ScModule::get()->GetColorConfig().GetColorValue(::svtools::DOCCOLOR).nColor); } diff --git a/sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx b/sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx index 1e60087df40f..5b7ab88b86f8 100644 --- a/sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx +++ b/sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx @@ -1252,7 +1252,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessibleDocumentPagePreview::getAcces if (containsPoint(rPoint)) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if ( mpViewShell ) { @@ -1312,7 +1312,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessibleDocumentPagePreview::getAcces void SAL_CALL ScAccessibleDocumentPagePreview::grabFocus() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (getAccessibleParent().is()) { uno::Reference<XAccessibleComponent> xAccessibleComponent(getAccessibleParent()->getAccessibleContext(), uno::UNO_QUERY); @@ -1329,7 +1329,7 @@ void SAL_CALL ScAccessibleDocumentPagePreview::grabFocus() sal_Int64 SAL_CALL ScAccessibleDocumentPagePreview::getAccessibleChildCount() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); sal_Int64 nRet = 0; if ( mpViewShell ) @@ -1344,7 +1344,7 @@ sal_Int64 SAL_CALL ScAccessibleDocumentPagePreview::getAccessibleChildCount() uno::Reference<XAccessible> SAL_CALL ScAccessibleDocumentPagePreview::getAccessibleChild(sal_Int64 nIndex) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); uno::Reference<XAccessible> xAccessible; if ( mpViewShell ) diff --git a/sc/source/ui/Accessibility/AccessibleEditObject.cxx b/sc/source/ui/Accessibility/AccessibleEditObject.cxx index d903b9d43218..c1ab7c135978 100644 --- a/sc/source/ui/Accessibility/AccessibleEditObject.cxx +++ b/sc/source/ui/Accessibility/AccessibleEditObject.cxx @@ -173,7 +173,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessibleEditObject::getAccessibleAtPo if (containsPoint(rPoint)) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); CreateTextHelper(); @@ -248,7 +248,7 @@ sal_Int64 SAL_CALL ScAccessibleEditObject::getAccessibleChildCount() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); CreateTextHelper(); return mpTextHelper->GetChildCount(); } @@ -257,7 +257,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessibleEditObject::getAccessibleChild(sal_Int64 nIndex) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); CreateTextHelper(); return mpTextHelper->GetChild(nIndex); } diff --git a/sc/source/ui/Accessibility/AccessiblePageHeader.cxx b/sc/source/ui/Accessibility/AccessiblePageHeader.cxx index c7a3d4cf8297..4fced4eb1c9f 100644 --- a/sc/source/ui/Accessibility/AccessiblePageHeader.cxx +++ b/sc/source/ui/Accessibility/AccessiblePageHeader.cxx @@ -138,7 +138,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessiblePageHeader::getAccessibleAtPo if (containsPoint(aPoint)) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); sal_Int64 nCount(getAccessibleChildCount()); // fill the areas @@ -162,7 +162,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessiblePageHeader::getAccessibleAtPo void SAL_CALL ScAccessiblePageHeader::grabFocus() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (getAccessibleParent().is()) { uno::Reference<XAccessibleComponent> xAccessibleComponent(getAccessibleParent()->getAccessibleContext(), uno::UNO_QUERY); @@ -176,7 +176,7 @@ void SAL_CALL ScAccessiblePageHeader::grabFocus() sal_Int64 SAL_CALL ScAccessiblePageHeader::getAccessibleChildCount() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if((mnChildCount < 0) && mpViewShell) { @@ -206,7 +206,7 @@ sal_Int64 SAL_CALL ScAccessiblePageHeader::getAccessibleChildCount() uno::Reference< XAccessible > SAL_CALL ScAccessiblePageHeader::getAccessibleChild( sal_Int64 nIndex ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); uno::Reference<XAccessible> xRet; diff --git a/sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx b/sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx index 845cdbc5d884..95b185345f78 100644 --- a/sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx +++ b/sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx @@ -102,7 +102,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessiblePageHeaderArea::getAccessible if (containsPoint(rPoint)) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if(!mpTextHelper) CreateTextHelper(); @@ -119,7 +119,7 @@ sal_Int64 SAL_CALL ScAccessiblePageHeaderArea::getAccessibleChildCount() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (!mpTextHelper) CreateTextHelper(); return mpTextHelper->GetChildCount(); @@ -129,7 +129,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessiblePageHeaderArea::getAccessibleChild(sal_Int64 nIndex) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (!mpTextHelper) CreateTextHelper(); return mpTextHelper->GetChild(nIndex); diff --git a/sc/source/ui/Accessibility/AccessiblePreviewCell.cxx b/sc/source/ui/Accessibility/AccessiblePreviewCell.cxx index c0aefc808cc8..82bfacca871f 100644 --- a/sc/source/ui/Accessibility/AccessiblePreviewCell.cxx +++ b/sc/source/ui/Accessibility/AccessiblePreviewCell.cxx @@ -95,7 +95,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessiblePreviewCell::getAccessibleAtP if (containsPoint(rPoint)) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if(!mpTextHelper) CreateTextHelper(); @@ -109,7 +109,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessiblePreviewCell::getAccessibleAtP void SAL_CALL ScAccessiblePreviewCell::grabFocus() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (getAccessibleParent().is()) { uno::Reference<XAccessibleComponent> xAccessibleComponent(getAccessibleParent()->getAccessibleContext(), uno::UNO_QUERY); @@ -123,7 +123,7 @@ void SAL_CALL ScAccessiblePreviewCell::grabFocus() sal_Int64 SAL_CALL ScAccessiblePreviewCell::getAccessibleChildCount() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (!mpTextHelper) CreateTextHelper(); return mpTextHelper->GetChildCount(); @@ -132,7 +132,7 @@ sal_Int64 SAL_CALL ScAccessiblePreviewCell::getAccessibleChildCount() uno::Reference< XAccessible > SAL_CALL ScAccessiblePreviewCell::getAccessibleChild(sal_Int64 nIndex) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (!mpTextHelper) CreateTextHelper(); return mpTextHelper->GetChild(nIndex); diff --git a/sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx b/sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx index 670d45ff0cb9..843e61f611e1 100644 --- a/sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx +++ b/sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx @@ -131,7 +131,7 @@ void SAL_CALL ScAccessiblePreviewHeaderCell::release() uno::Any SAL_CALL ScAccessiblePreviewHeaderCell::getCurrentValue() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); double fValue(0.0); if (mbColumnHeader) @@ -151,7 +151,7 @@ sal_Bool SAL_CALL ScAccessiblePreviewHeaderCell::setCurrentValue( const uno::Any uno::Any SAL_CALL ScAccessiblePreviewHeaderCell::getMaximumValue() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); double fValue(0.0); ScDocument& rDoc = mpViewShell->GetDocument(); @@ -181,7 +181,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessiblePreviewHeaderCell::getAccessi if (containsPoint(rPoint)) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if(!mxTextHelper) CreateTextHelper(); @@ -195,7 +195,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessiblePreviewHeaderCell::getAccessi void SAL_CALL ScAccessiblePreviewHeaderCell::grabFocus() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (getAccessibleParent().is()) { uno::Reference<XAccessibleComponent> xAccessibleComponent(getAccessibleParent()->getAccessibleContext(), uno::UNO_QUERY); @@ -209,7 +209,7 @@ void SAL_CALL ScAccessiblePreviewHeaderCell::grabFocus() sal_Int64 SAL_CALL ScAccessiblePreviewHeaderCell::getAccessibleChildCount() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (!mxTextHelper) CreateTextHelper(); return mxTextHelper->GetChildCount(); @@ -218,7 +218,7 @@ sal_Int64 SAL_CALL ScAccessiblePreviewHeaderCell::getAccessibleChildCount() uno::Reference< XAccessible > SAL_CALL ScAccessiblePreviewHeaderCell::getAccessibleChild(sal_Int64 nIndex) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (!mxTextHelper) CreateTextHelper(); return mxTextHelper->GetChild(nIndex); diff --git a/sc/source/ui/Accessibility/AccessiblePreviewTable.cxx b/sc/source/ui/Accessibility/AccessiblePreviewTable.cxx index 791c3a7d7836..429dffe13783 100644 --- a/sc/source/ui/Accessibility/AccessiblePreviewTable.cxx +++ b/sc/source/ui/Accessibility/AccessiblePreviewTable.cxx @@ -122,7 +122,7 @@ void SAL_CALL ScAccessiblePreviewTable::release() sal_Int32 SAL_CALL ScAccessiblePreviewTable::getAccessibleRowCount() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); FillTableInfo(); @@ -135,7 +135,7 @@ sal_Int32 SAL_CALL ScAccessiblePreviewTable::getAccessibleRowCount() sal_Int32 SAL_CALL ScAccessiblePreviewTable::getAccessibleColumnCount() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); FillTableInfo(); @@ -168,7 +168,7 @@ OUString SAL_CALL ScAccessiblePreviewTable::getAccessibleColumnDescription( sal_ sal_Int32 SAL_CALL ScAccessiblePreviewTable::getAccessibleRowExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); FillTableInfo(); @@ -199,7 +199,7 @@ sal_Int32 SAL_CALL ScAccessiblePreviewTable::getAccessibleRowExtentAt( sal_Int32 sal_Int32 SAL_CALL ScAccessiblePreviewTable::getAccessibleColumnExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); FillTableInfo(); @@ -278,7 +278,7 @@ sal_Bool SAL_CALL ScAccessiblePreviewTable::isAccessibleColumnSelected( sal_Int3 uno::Reference< XAccessible > SAL_CALL ScAccessiblePreviewTable::getAccessibleCellAt( sal_Int32 nRow, sal_Int32 nColumn ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); FillTableInfo(); @@ -331,7 +331,7 @@ sal_Bool SAL_CALL ScAccessiblePreviewTable::isAccessibleSelected( sal_Int32 nRow { // in the page preview, there is no selection SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); FillTableInfo(); @@ -345,7 +345,7 @@ sal_Bool SAL_CALL ScAccessiblePreviewTable::isAccessibleSelected( sal_Int32 nRow sal_Int64 SAL_CALL ScAccessiblePreviewTable::getAccessibleIndex( sal_Int32 nRow, sal_Int32 nColumn ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); FillTableInfo(); @@ -360,7 +360,7 @@ sal_Int64 SAL_CALL ScAccessiblePreviewTable::getAccessibleIndex( sal_Int32 nRow, sal_Int32 SAL_CALL ScAccessiblePreviewTable::getAccessibleRow( sal_Int64 nChildIndex ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); FillTableInfo(); @@ -374,7 +374,7 @@ sal_Int32 SAL_CALL ScAccessiblePreviewTable::getAccessibleRow( sal_Int64 nChildI sal_Int32 SAL_CALL ScAccessiblePreviewTable::getAccessibleColumn( sal_Int64 nChildIndex ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); FillTableInfo(); @@ -393,7 +393,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessiblePreviewTable::getAccessibleAt if (containsPoint(aPoint)) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); FillTableInfo(); @@ -438,7 +438,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessiblePreviewTable::getAccessibleAt void SAL_CALL ScAccessiblePreviewTable::grabFocus() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (getAccessibleParent().is()) { uno::Reference<XAccessibleComponent> xAccessibleComponent(getAccessibleParent()->getAccessibleContext(), uno::UNO_QUERY); @@ -452,7 +452,7 @@ void SAL_CALL ScAccessiblePreviewTable::grabFocus() sal_Int64 SAL_CALL ScAccessiblePreviewTable::getAccessibleChildCount() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); FillTableInfo(); @@ -465,7 +465,7 @@ sal_Int64 SAL_CALL ScAccessiblePreviewTable::getAccessibleChildCount() uno::Reference< XAccessible > SAL_CALL ScAccessiblePreviewTable::getAccessibleChild( sal_Int64 nIndex ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); FillTableInfo(); diff --git a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx index a98ac677605e..b3198242eaf1 100644 --- a/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx +++ b/sc/source/ui/Accessibility/AccessibleSpreadsheet.cxx @@ -776,7 +776,7 @@ void ScAccessibleSpreadsheet::CommitFocusCell(const ScAddress &aNewCell) uno::Reference< XAccessibleTable > SAL_CALL ScAccessibleSpreadsheet::getAccessibleRowHeaders( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); uno::Reference< XAccessibleTable > xAccessibleTable; if( mpDoc && mbIsSpreadsheet ) { @@ -795,7 +795,7 @@ uno::Reference< XAccessibleTable > SAL_CALL ScAccessibleSpreadsheet::getAccessib uno::Reference< XAccessibleTable > SAL_CALL ScAccessibleSpreadsheet::getAccessibleColumnHeaders( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); uno::Reference< XAccessibleTable > xAccessibleTable; if( mpDoc && mbIsSpreadsheet ) { @@ -814,7 +814,7 @@ uno::Reference< XAccessibleTable > SAL_CALL ScAccessibleSpreadsheet::getAccessib uno::Sequence< sal_Int32 > SAL_CALL ScAccessibleSpreadsheet::getSelectedAccessibleRows( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); uno::Sequence<sal_Int32> aSequence; if (IsFormulaMode()) { @@ -844,7 +844,7 @@ uno::Sequence< sal_Int32 > SAL_CALL ScAccessibleSpreadsheet::getSelectedAccessib uno::Sequence< sal_Int32 > SAL_CALL ScAccessibleSpreadsheet::getSelectedAccessibleColumns( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); uno::Sequence<sal_Int32> aSequence; if (IsFormulaMode() || !mpViewShell) return aSequence; @@ -868,7 +868,7 @@ uno::Sequence< sal_Int32 > SAL_CALL ScAccessibleSpreadsheet::getSelectedAccessib sal_Bool SAL_CALL ScAccessibleSpreadsheet::isAccessibleRowSelected( sal_Int32 nRow ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (IsFormulaMode()) { return false; @@ -889,7 +889,7 @@ sal_Bool SAL_CALL ScAccessibleSpreadsheet::isAccessibleRowSelected( sal_Int32 nR sal_Bool SAL_CALL ScAccessibleSpreadsheet::isAccessibleColumnSelected( sal_Int32 nColumn ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (IsFormulaMode()) { @@ -955,7 +955,7 @@ rtl::Reference<ScAccessibleCell> ScAccessibleSpreadsheet::GetAccessibleCellAt(sa uno::Reference< XAccessible > SAL_CALL ScAccessibleSpreadsheet::getAccessibleCellAt( sal_Int32 nRow, sal_Int32 nColumn ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (!IsFormulaMode()) { if (nRow > (maRange.aEnd.Row() - maRange.aStart.Row()) || @@ -971,7 +971,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessibleSpreadsheet::getAccessibleCel sal_Bool SAL_CALL ScAccessibleSpreadsheet::isAccessibleSelected( sal_Int32 nRow, sal_Int32 nColumn ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (IsFormulaMode()) { @@ -999,7 +999,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessibleSpreadsheet::getAccessibleAtP if (containsPoint(rPoint)) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (mpViewShell) { SCCOL nX; @@ -1035,7 +1035,7 @@ sal_Int32 SAL_CALL ScAccessibleSpreadsheet::getForeground( ) sal_Int32 SAL_CALL ScAccessibleSpreadsheet::getBackground( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); return sal_Int32(ScModule::get()->GetColorConfig().GetColorValue(::svtools::DOCCOLOR).nColor); } @@ -1090,7 +1090,7 @@ sal_Int64 SAL_CALL ScAccessibleSpreadsheet::getAccessibleStateSet() void SAL_CALL ScAccessibleSpreadsheet::selectAccessibleChild( sal_Int64 nChildIndex ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (nChildIndex < 0 || nChildIndex >= getAccessibleChildCount()) throw lang::IndexOutOfBoundsException(); @@ -1107,7 +1107,7 @@ void SAL_CALL ScAccessibleSpreadsheet::clearAccessibleSelection( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (mpViewShell && !IsFormulaMode()) mpViewShell->Unmark(); } @@ -1115,7 +1115,7 @@ void SAL_CALL void SAL_CALL ScAccessibleSpreadsheet::selectAllAccessibleChildren( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (!mpViewShell) return; @@ -1136,7 +1136,7 @@ sal_Int64 SAL_CALL ScAccessibleSpreadsheet::getSelectedAccessibleChildCount( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); sal_Int64 nResult(0); if (mpViewShell) { @@ -1163,7 +1163,7 @@ uno::Reference<XAccessible > SAL_CALL ScAccessibleSpreadsheet::getSelectedAccessibleChild( sal_Int64 nSelectedChildIndex ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); uno::Reference < XAccessible > xAccessible; if (IsFormulaMode()) { @@ -1199,7 +1199,7 @@ uno::Reference<XAccessible > SAL_CALL void SAL_CALL ScAccessibleSpreadsheet::deselectAccessibleChild( sal_Int64 nChildIndex ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (nChildIndex < 0 || nChildIndex >= getAccessibleChildCount()) throw lang::IndexOutOfBoundsException(); diff --git a/sc/source/ui/Accessibility/AccessibleTableBase.cxx b/sc/source/ui/Accessibility/AccessibleTableBase.cxx index 316b92567182..6ad24f61a706 100644 --- a/sc/source/ui/Accessibility/AccessibleTableBase.cxx +++ b/sc/source/ui/Accessibility/AccessibleTableBase.cxx @@ -91,14 +91,14 @@ void SAL_CALL ScAccessibleTableBase::release() sal_Int32 SAL_CALL ScAccessibleTableBase::getAccessibleRowCount( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); return maRange.aEnd.Row() - maRange.aStart.Row() + 1; } sal_Int32 SAL_CALL ScAccessibleTableBase::getAccessibleColumnCount( ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); return maRange.aEnd.Col() - maRange.aStart.Col() + 1; } @@ -127,7 +127,7 @@ OUString SAL_CALL ScAccessibleTableBase::getAccessibleColumnDescription( sal_Int sal_Int32 SAL_CALL ScAccessibleTableBase::getAccessibleRowExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if ((nColumn > (maRange.aEnd.Col() - maRange.aStart.Col())) || (nColumn < 0) || (nRow > (maRange.aEnd.Row() - maRange.aStart.Row())) || (nRow < 0)) @@ -160,7 +160,7 @@ sal_Int32 SAL_CALL ScAccessibleTableBase::getAccessibleRowExtentAt( sal_Int32 nR sal_Int32 SAL_CALL ScAccessibleTableBase::getAccessibleColumnExtentAt( sal_Int32 nRow, sal_Int32 nColumn ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if ((nColumn > (maRange.aEnd.Col() - maRange.aStart.Col())) || (nColumn < 0) || (nRow > (maRange.aEnd.Row() - maRange.aStart.Row())) || (nRow < 0)) @@ -266,7 +266,7 @@ sal_Bool SAL_CALL ScAccessibleTableBase::isAccessibleSelected( sal_Int32 /* nRow sal_Int64 SAL_CALL ScAccessibleTableBase::getAccessibleIndex( sal_Int32 nRow, sal_Int32 nColumn ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (nRow > (maRange.aEnd.Row() - maRange.aStart.Row()) || nRow < 0 || @@ -282,7 +282,7 @@ sal_Int64 SAL_CALL ScAccessibleTableBase::getAccessibleIndex( sal_Int32 nRow, sa sal_Int32 SAL_CALL ScAccessibleTableBase::getAccessibleRow( sal_Int64 nChildIndex ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (nChildIndex >= getAccessibleChildCount() || nChildIndex < 0) throw lang::IndexOutOfBoundsException(); @@ -293,7 +293,7 @@ sal_Int32 SAL_CALL ScAccessibleTableBase::getAccessibleRow( sal_Int64 nChildInde sal_Int32 SAL_CALL ScAccessibleTableBase::getAccessibleColumn( sal_Int64 nChildIndex ) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (nChildIndex >= getAccessibleChildCount() || nChildIndex < 0) throw lang::IndexOutOfBoundsException(); @@ -306,7 +306,7 @@ sal_Int32 SAL_CALL ScAccessibleTableBase::getAccessibleColumn( sal_Int64 nChildI sal_Int64 SAL_CALL ScAccessibleTableBase::getAccessibleChildCount() { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); // FIXME: representing rows & columns this way is a plain and simple madness. // this needs a radical re-think. @@ -321,7 +321,7 @@ uno::Reference< XAccessible > SAL_CALL ScAccessibleTableBase::getAccessibleChild(sal_Int64 nIndex) { SolarMutexGuard aGuard; - IsObjectValid(); + ensureAlive(); if (nIndex >= getAccessibleChildCount() || nIndex < 0) throw lang::IndexOutOfBoundsException(); diff --git a/sc/source/ui/inc/AccessibleContextBase.hxx b/sc/source/ui/inc/AccessibleContextBase.hxx index 50cc376e0203..bb30cf1a3f4a 100644 --- a/sc/source/ui/inc/AccessibleContextBase.hxx +++ b/sc/source/ui/inc/AccessibleContextBase.hxx @@ -180,9 +180,6 @@ protected: bool IsDefunc() const { return rBHelper.bDisposed; } - /// @throws css::lang::DisposedException - void IsObjectValid() const; - /// Reference to the parent object. css::uno::Reference<css::accessibility::XAccessible> mxParent;