diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2024-01-24 12:10:32 +0100 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2024-01-25 09:41:38 +0100 |
commit | 8479bbecd2434d65eb6c26100a783ecf96f6da12 (patch) | |
tree | cdfab14da9d04245208d217c9a37767bef5f7d8c /sw/source/core/access/accmap.cxx | |
parent | 25bda5d887b12015e0f7d32753408b20544b5566 (diff) |
sw a11y: Return SwAccessibleContext to avoid casting
Let `SwAccessibleMap::GetDocumentView_` return the
more concrete `rtl::Reference<SwAccessibleContext>`
instead of `uno::Reference<XAccessible>`, which
avoids having to cast in one place in
`SwAccessibleMap::DoInvalidateShapeSelection`
(and more places in upcoming changes).
Replace the null check by an assert, as
`SwAccessibleMap::GetDocumentView_` never
returns an empty reference.
Change-Id: I32d5bd2f81e7a69eacf92af1cf24249eb3a9f2a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162516
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Diffstat (limited to 'sw/source/core/access/accmap.cxx')
-rw-r--r-- | sw/source/core/access/accmap.cxx | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx index ebc877601efc..0a6da3f501b8 100644 --- a/sw/source/core/access/accmap.cxx +++ b/sw/source/core/access/accmap.cxx @@ -1556,14 +1556,11 @@ void SwAccessibleMap::DoInvalidateShapeSelection(bool bInvalidateFocusMode /*=fa const unsigned int SELECTION_WITH_NUM = 10; if (vecxShapeAdd.size() > SELECTION_WITH_NUM ) { - uno::Reference< XAccessible > xDoc = GetDocumentView( ); - SwAccessibleContext * pCont = static_cast<SwAccessibleContext *>(xDoc.get()); - if (pCont) - { - AccessibleEventObject aEvent; - aEvent.EventId = AccessibleEventId::SELECTION_CHANGED_WITHIN; - pCont->FireAccessibleEvent(aEvent); - } + rtl::Reference<SwAccessibleContext> xDoc = GetDocumentView_(false); + assert(xDoc.is()); + AccessibleEventObject aEvent; + aEvent.EventId = AccessibleEventId::SELECTION_CHANGED_WITHIN; + xDoc->FireAccessibleEvent(aEvent); } else { @@ -1696,7 +1693,7 @@ SwAccessibleMap::~SwAccessibleMap() mpVSh->GetLayout()->RemoveAccessibleShell(); } -uno::Reference< XAccessible > SwAccessibleMap::GetDocumentView_( +rtl::Reference<SwAccessibleContext> SwAccessibleMap::GetDocumentView_( bool bPagePreview ) { DBG_TESTSOLARMUTEX(); |