From af313fc149f80adb0f1680ca20e19745ccb7fede Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Fri, 6 Jan 2017 13:49:06 +0100 Subject: tdf#105143 DOCX import: enable DoNotCaptureDrawObjsOnPage layout compat option Because that's what Word does to show only part of the shape in the bugdoc. Change-Id: Ic5cb84cace9237671d71eda0c64e9dadfe244cb9 Reviewed-on: https://gerrit.libreoffice.org/32782 Reviewed-by: Miklos Vajna Tested-by: Jenkins --- sw/qa/extras/ooxmlimport/data/tdf105143.docx | Bin 0 -> 13098 bytes sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 8 ++++++++ writerfilter/source/filter/WriterFilter.cxx | 1 + 3 files changed, 9 insertions(+) create mode 100644 sw/qa/extras/ooxmlimport/data/tdf105143.docx diff --git a/sw/qa/extras/ooxmlimport/data/tdf105143.docx b/sw/qa/extras/ooxmlimport/data/tdf105143.docx new file mode 100644 index 000000000000..aa4bf40af02e Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/tdf105143.docx differ diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index 0acf8f0148e8..2d1c66ba94cd 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -699,6 +699,14 @@ DECLARE_OOXMLIMPORT_TEST(testTdf105127, "tdf105127.docx") CPPUNIT_ASSERT_EQUAL(static_cast(3257), aPolyPolygon.Coordinates[0][0].Y); } +DECLARE_OOXMLIMPORT_TEST(testTdf105143, "tdf105143.docx") +{ + OUString aTop = parseDump("/root/page/body/txt/anchored/SwAnchoredDrawObject/bounds", "top"); + // This was 6272, i.e. the shape was moved up (incorrect position) to be + // inside the page rectangle. + CPPUNIT_ASSERT_EQUAL(OUString("6674"), aTop); +} + DECLARE_OOXMLIMPORT_TEST(testfdo76583, "fdo76583.docx") { // The problem was that the floating table was imported as a non-floating one. diff --git a/writerfilter/source/filter/WriterFilter.cxx b/writerfilter/source/filter/WriterFilter.cxx index 3826b09085a3..e247000158f3 100644 --- a/writerfilter/source/filter/WriterFilter.cxx +++ b/writerfilter/source/filter/WriterFilter.cxx @@ -298,6 +298,7 @@ void WriterFilter::setTargetDocument(const uno::Reference< lang::XComponent >& x xSettings->setPropertyValue("TabOverMargin", uno::makeAny(true)); xSettings->setPropertyValue("TreatSingleColumnBreakAsPageBreak", uno::makeAny(true)); xSettings->setPropertyValue("PropLineSpacingShrinksFirstLine", uno::makeAny(true)); + xSettings->setPropertyValue("DoNotCaptureDrawObjsOnPage", uno::makeAny(true)); } void WriterFilter::setSourceDocument(const uno::Reference< lang::XComponent >& xDoc) throw (lang::IllegalArgumentException, uno::RuntimeException, std::exception) -- cgit