diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-09-14 15:57:11 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-09-17 17:24:52 +0200 |
commit | 8ad66ed2c5345f63e0581b6053222c80a9c612c3 (patch) | |
tree | bbfab2eae685b2a5906ee5b6cd67a9a9a1c1c3ee /sw/source/core/access | |
parent | 8f55b9fccda8abe690693d8630a9a52369f984ec (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.cxx | 22 |
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()) { |