summaryrefslogtreecommitdiff
path: root/sw/source/core/access
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2023-09-14 15:57:11 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2023-09-17 17:24:52 +0200
commit8ad66ed2c5345f63e0581b6053222c80a9c612c3 (patch)
treebbfab2eae685b2a5906ee5b6cd67a9a9a1c1c3ee /sw/source/core/access
parent8f55b9fccda8abe690693d8630a9a52369f984ec (diff)
remove unnecessary dynamic_cast around SwXText
Unusually, we cannot use rtl::Reference to hold SwXText, because rtl::Reference assumes that its pointee is a subclass of OWeakObject, which SwXText is not (and we cannot make it so because the UNO bridge does not support virtual base classes). So we have to use css::uno::Reference<SwXText> and carve out an exception in loplugin:refcounting. Change-Id: If3a1307e30fdcd3b47aa665252be081fb5063400 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156982 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw/source/core/access')
-rw-r--r--sw/source/core/access/AccessibilityCheck.cxx22
1 files changed, 10 insertions, 12 deletions
diff --git a/sw/source/core/access/AccessibilityCheck.cxx b/sw/source/core/access/AccessibilityCheck.cxx
index cf214d060a76..63443bcb89bd 100644
--- a/sw/source/core/access/AccessibilityCheck.cxx
+++ b/sw/source/core/access/AccessibilityCheck.cxx
@@ -41,6 +41,7 @@
#include <svx/swframetypes.hxx>
#include <fmtanchr.hxx>
#include <dcontact.hxx>
+#include <unotext.hxx>
#include <svx/svdoashp.hxx>
#include <svx/sdasitm.hxx>
@@ -380,13 +381,12 @@ public:
return;
SwTextNode* pTextNode = pCurrent->GetTextNode();
- uno::Reference<text::XTextContent> xParagraph
- = SwXParagraph::CreateXParagraph(pTextNode->GetDoc(), pTextNode);
+ rtl::Reference<SwXParagraph> xParagraph
+ = SwXParagraph::CreateXParagraph(pTextNode->GetDoc(), pTextNode, nullptr);
if (!xParagraph.is())
return;
- uno::Reference<container::XEnumerationAccess> xRunEnumAccess(xParagraph, uno::UNO_QUERY);
- uno::Reference<container::XEnumeration> xRunEnum = xRunEnumAccess->createEnumeration();
+ uno::Reference<container::XEnumeration> xRunEnum = xParagraph->createEnumeration();
sal_Int32 nStart = 0;
while (xRunEnum->hasMoreElements())
{
@@ -571,13 +571,12 @@ public:
return;
SwTextNode* pTextNode = pCurrent->GetTextNode();
- uno::Reference<text::XTextContent> xParagraph;
- xParagraph = SwXParagraph::CreateXParagraph(pTextNode->GetDoc(), pTextNode);
+ rtl::Reference<SwXParagraph> xParagraph
+ = SwXParagraph::CreateXParagraph(pTextNode->GetDoc(), pTextNode, nullptr);
if (!xParagraph.is())
return;
- uno::Reference<container::XEnumerationAccess> xRunEnumAccess(xParagraph, uno::UNO_QUERY);
- uno::Reference<container::XEnumeration> xRunEnum = xRunEnumAccess->createEnumeration();
+ uno::Reference<container::XEnumeration> xRunEnum = xParagraph->createEnumeration();
sal_Int32 nStart = 0;
while (xRunEnum->hasMoreElements())
{
@@ -1072,13 +1071,12 @@ public:
return;
SwTextNode* pTextNode = pCurrent->GetTextNode();
- uno::Reference<text::XTextContent> xParagraph;
- xParagraph = SwXParagraph::CreateXParagraph(pTextNode->GetDoc(), pTextNode);
+ rtl::Reference<SwXParagraph> xParagraph
+ = SwXParagraph::CreateXParagraph(pTextNode->GetDoc(), pTextNode, nullptr);
if (!xParagraph.is())
return;
- uno::Reference<container::XEnumerationAccess> xRunEnumAccess(xParagraph, uno::UNO_QUERY);
- uno::Reference<container::XEnumeration> xRunEnum = xRunEnumAccess->createEnumeration();
+ uno::Reference<container::XEnumeration> xRunEnum = xParagraph->createEnumeration();
sal_Int32 nStart = 0;
while (xRunEnum->hasMoreElements())
{