summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2016-01-19 09:27:19 +0100
committerCaolán McNamara <caolanm@redhat.com>2016-02-11 15:53:54 +0000
commit2f57811486e9e57a1634fbdeca0349b896fabab0 (patch)
treef406ebb8a2ef9f066cecc960f86f08c53bd40125
parenta7514d1f3aaf75fe94e500a0cf13994871bd95ae (diff)
tdf#85523 DOCX import: fix unexpected extra char at comment end
(cherry picked from commit 39969defa29948d77565a7cd8a3471baaec8f35d) Change-Id: Ic3eb073d11a395a81b90fd1a9292d6ecf2940c09 Reviewed-on: https://gerrit.libreoffice.org/22157 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--sw/qa/extras/ooxmlimport/data/tdf85523.docxbin0 -> 21015 bytes
-rw-r--r--sw/qa/extras/ooxmlimport/ooxmlimport.cxx8
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx3
3 files changed, 10 insertions, 1 deletions
diff --git a/sw/qa/extras/ooxmlimport/data/tdf85523.docx b/sw/qa/extras/ooxmlimport/data/tdf85523.docx
new file mode 100644
index 000000000000..cd31ae43e442
--- /dev/null
+++ b/sw/qa/extras/ooxmlimport/data/tdf85523.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index 0a4e5930ec21..2151d55636cd 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -2116,6 +2116,14 @@ DECLARE_OOXMLIMPORT_TEST(testAnnotationFormatting, "annotation-formatting.docx")
CPPUNIT_ASSERT_EQUAL(awt::FontUnderline::SINGLE, getProperty<sal_Int16>(getRun(xParagraph, 1), "CharUnderline"));
}
+DECLARE_OOXMLIMPORT_TEST(testTdf85523, "tdf85523.docx")
+{
+ auto xTextField = getProperty< uno::Reference<beans::XPropertySet> >(getRun(getParagraph(1), 6), "TextField");
+ auto xText = getProperty< uno::Reference<text::XText> >(xTextField, "TextRange");
+ // This was "commentX": an unexpected extra char was added at the comment end.
+ getParagraphOfText(1, xText, "comment");
+}
+
DECLARE_OOXMLIMPORT_TEST(testDMLGroupShapeRunFonts, "dml-groupshape-runfonts.docx")
{
// Fonts defined by w:rFonts was not imported and so the font specified by a:fontRef was used.
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index bf3fa2cdc69a..2b8adbecc23a 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1134,9 +1134,10 @@ void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap )
else
{
uno::Reference<text::XTextCursor> xCursor;
- if (m_bParaHadField)
+ if (m_bParaHadField && !m_bIsInComments)
{
// Workaround to make sure char props of the field are not lost.
+ // Not relevant for editeng-based comments.
OUString sMarker("X");
xCursor = xTextAppend->getText()->createTextCursor();
if (xCursor.is())