diff options
author | Michael Stahl <michael.stahl@allotropia.de> | 2022-09-23 18:11:56 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2022-09-23 21:38:58 +0200 |
commit | 88c41829ab99af4fb8c5e5494508c763330fef53 (patch) | |
tree | 19a648e1e4d38bd636496a8cbfd75b8de50166ea | |
parent | a0a529a131c61588cf865143d47cdc23961fd596 (diff) |
rhbz#2122948 sw: fix ODF import of fieldmark in redline
The problem is that SwXText::compareRegionStarts() calls
SwXText::CreateCursor() which creates a cursor on the last node in the
body text, but it's actually a redline.
Override SwXRedlineText::CreateCursor() to create a cursor in the
redline text.
Complete mystery why SwXText has 2 virtual functions to create
cursors in the first place.
(regression from commit 463178fef5c22f1a04d10e54491852d56e2038b0)
Change-Id: I0f3bcf4eda25f1ac7e1c1b0cf47a920f8302d2b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140523
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | sw/inc/unoredline.hxx | 3 | ||||
-rw-r--r-- | sw/source/core/unocore/unoredline.cxx | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sw/inc/unoredline.hxx b/sw/inc/unoredline.hxx index a73ede766af6..3a7273a199d7 100644 --- a/sw/inc/unoredline.hxx +++ b/sw/inc/unoredline.hxx @@ -39,6 +39,9 @@ class SwXRedlineText final : SwNodeIndex m_aNodeIndex; virtual const SwStartNode *GetStartNode() const override; + virtual css::uno::Reference< css::text::XTextCursor > + CreateCursor() override; + public: SwXRedlineText(SwDoc* pDoc, const SwNodeIndex& aNodeIndex); diff --git a/sw/source/core/unocore/unoredline.cxx b/sw/source/core/unocore/unoredline.cxx index adc61e5700ce..6772bb1e1305 100644 --- a/sw/source/core/unocore/unoredline.cxx +++ b/sw/source/core/unocore/unoredline.cxx @@ -90,6 +90,11 @@ uno::Sequence<sal_Int8> SwXRedlineText::getImplementationId() return css::uno::Sequence<sal_Int8>(); } +uno::Reference<text::XTextCursor> SwXRedlineText::CreateCursor() +{ + return createTextCursor(); +} + uno::Reference<text::XTextCursor> SwXRedlineText::createTextCursor() { SolarMutexGuard aGuard; |