oox/source/shape/WpsContext.cxx | 8 +++++++- sw/qa/extras/ooxmlimport/data/tdf124754.docx |binary sw/qa/extras/ooxmlimport/ooxmlimport2.cxx | 15 +++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-)
New commits: commit 1b1caaf4bce6b60c4c1af7dfc6f90dbdf4c3f817 Author: Serge Krot <serge.k...@cib.de> AuthorDate: Mon May 13 15:43:44 2019 +0200 Commit: Michael Stahl <michael.st...@cib.de> CommitDate: Tue May 14 18:31:22 2019 +0200 tdf#124754 sw docx import: do not override text color with -1 (auto) color Change-Id: Id821b0d8bef69a7124ee41558e822cf8b025df9d Reviewed-on: https://gerrit.libreoffice.org/72232 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Reviewed-on: https://gerrit.libreoffice.org/72293 Reviewed-by: Michael Stahl <michael.st...@cib.de> diff --git a/oox/source/shape/WpsContext.cxx b/oox/source/shape/WpsContext.cxx index e196449ec7ed..2b2ad8b2b1b7 100644 --- a/oox/source/shape/WpsContext.cxx +++ b/oox/source/shape/WpsContext.cxx @@ -151,7 +151,13 @@ oox::core::ContextHandlerRef WpsContext::onCreateContext(sal_Int32 nElementToken if (ePropertyState == beans::PropertyState_DEFAULT_VALUE) { uno::Reference<beans::XPropertySet> xTextBoxPropertySet(xTextCursor, uno::UNO_QUERY); - xTextBoxPropertySet->setPropertyValue("CharColor", xPropertySet->getPropertyValue("CharColor")); + uno::Any xCharColor = xPropertySet->getPropertyValue("CharColor"); + Color aColor = COL_AUTO; + if (xCharColor >>= aColor) + { + if (aColor != COL_AUTO) + xTextBoxPropertySet->setPropertyValue("CharColor", xCharColor); + } } return this; } diff --git a/sw/qa/extras/ooxmlimport/data/tdf124754.docx b/sw/qa/extras/ooxmlimport/data/tdf124754.docx new file mode 100644 index 000000000000..2f7f4e14bda5 Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/tdf124754.docx differ diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx index a74501cd708c..57c7f7ef4245 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx @@ -197,6 +197,7 @@ DECLARE_OOXMLIMPORT_TEST(testTdf117843, "tdf117843.docx") getProperty<sal_Int32>(getParagraphOfText(1, xHeaderText), "ParaTopMargin")); } +// related tdf#124754 DECLARE_OOXMLIMPORT_TEST(testTdf43017, "tdf43017.docx") { uno::Reference<text::XTextRange> xParagraph = getParagraph(1); @@ -207,6 +208,20 @@ DECLARE_OOXMLIMPORT_TEST(testTdf43017, "tdf43017.docx") getProperty<sal_Int32>(xText, "CharColor")); } +// related tdf#43017 +DECLARE_OOXMLIMPORT_TEST(testTdf124754, "tdf124754.docx") +{ + uno::Reference<text::XText> textbox(getShape(1), uno::UNO_QUERY); + CPPUNIT_ASSERT_EQUAL(1, getParagraphs(textbox)); + + uno::Reference<text::XTextRange> xParagraph = getParagraphOfText(1, textbox); + uno::Reference<text::XTextRange> xText = getRun(xParagraph, 2); + + // Ensure that hyperlink text color is not black + CPPUNIT_ASSERT_EQUAL_MESSAGE("Hyperlink color should be not black!", sal_Int32(353217), + getProperty<sal_Int32>(xText, "CharColor")); +} + DECLARE_OOXMLIMPORT_TEST(testTdf112443, "tdf112443.docx") { // the position of the flying text frame should be off page _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits