diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-01-28 17:52:40 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-02-18 15:54:54 +0000 |
commit | 2f4fce056bc6025c924466aaf7635e2b385cecbb (patch) | |
tree | 115a4a4acfa7f6cae357653a23d3be990600bd32 /sw | |
parent | 953d064e31f172dad8a2f72da629158ab1097d9c (diff) |
tdf#97371 DOCX import: fix text covered by shape
Regression from commit 358666e4204364ce915ee95372dc6f2fca545253
(tdf#90153 DOCX import: fix default sw TextFrame roundtrip, 2015-09-28),
the problem was that at the moment SwTextBoxHelper::syncProperty()
doesn't handle an AnchorType at-para -> at-char transition, so the
importer shouldn't do that for TextBoxes till sw core gets extended to
support the scenario.
(cherry picked from commit 8f1a1092d47947847e1d888b0284e8364c663d1f)
Conflicts:
sw/qa/extras/ooxmlimport/ooxmlimport.cxx
Change-Id: I8308bfd306672bc68984fbf019767c174130e18d
Reviewed-on: https://gerrit.libreoffice.org/22483
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/CppunitTest_sw_ooxmlimport.mk | 1 | ||||
-rw-r--r-- | sw/qa/extras/ooxmlimport/data/tdf97371.docx | bin | 0 -> 18800 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 15 |
3 files changed, 16 insertions, 0 deletions
diff --git a/sw/CppunitTest_sw_ooxmlimport.mk b/sw/CppunitTest_sw_ooxmlimport.mk index 5aae15d8a6b4..c934d09b42b3 100644 --- a/sw/CppunitTest_sw_ooxmlimport.mk +++ b/sw/CppunitTest_sw_ooxmlimport.mk @@ -27,6 +27,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sw_ooxmlimport, \ sw \ tl \ vcl \ + svxcore \ $(gb_UWINAPI) \ )) diff --git a/sw/qa/extras/ooxmlimport/data/tdf97371.docx b/sw/qa/extras/ooxmlimport/data/tdf97371.docx Binary files differnew file mode 100644 index 000000000000..87e67ddf877b --- /dev/null +++ b/sw/qa/extras/ooxmlimport/data/tdf97371.docx diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index 9ca419c8aefe..fec79d3020e1 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -74,10 +74,12 @@ #include <comphelper/sequenceashashmap.hxx> #include <com/sun/star/text/GraphicCrop.hpp> #include <swtypes.hxx> +#include <drawdoc.hxx> #include <tools/datetimeutils.hxx> #include <oox/drawingml/drawingmltypes.hxx> #include <unotools/streamwrap.hxx> #include <comphelper/propertysequence.hxx> +#include <svx/svdpage.hxx> #include <com/sun/star/drawing/HomogenMatrix3.hpp> #include <bordertest.hxx> @@ -3064,6 +3066,19 @@ DECLARE_OOXMLIMPORT_TEST(testTdf95213, "tdf95213.docx") CPPUNIT_ASSERT_EQUAL(awt::FontWeight::NORMAL, getProperty<float>(xStyle, "CharWeight")); } +DECLARE_OOXMLIMPORT_TEST(testTdf97371, "tdf97371.docx") +{ + SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument *>(mxComponent.get()); + CPPUNIT_ASSERT(pTextDoc); + SwDoc* pDoc = pTextDoc->GetDocShell()->GetDoc(); + SdrPage* pPage = pDoc->getIDocumentDrawModelAccess().GetDrawModel()->GetPage(0); + SdrObject* pShape = pPage->GetObj(0); + SdrObject* pTextBox = pPage->GetObj(1); + long nDiff = std::abs(pShape->GetSnapRect().Top() - pTextBox->GetSnapRect().Top()); + // The top of the two shapes were 410 and 3951, now it should be 3950 and 3951. + CPPUNIT_ASSERT(nDiff < 10); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |