summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/qa/extras/layout/data/tdf109137.docxbin0 -> 19429 bytes
-rw-r--r--sw/qa/extras/layout/layout.cxx20
-rw-r--r--sw/source/core/doc/textboxhelper.cxx2
3 files changed, 22 insertions, 0 deletions
diff --git a/sw/qa/extras/layout/data/tdf109137.docx b/sw/qa/extras/layout/data/tdf109137.docx
new file mode 100644
index 000000000000..03e2423bc155
--- /dev/null
+++ b/sw/qa/extras/layout/data/tdf109137.docx
Binary files differ
diff --git a/sw/qa/extras/layout/layout.cxx b/sw/qa/extras/layout/layout.cxx
index 2325fd84e5a2..9bf7affcfd87 100644
--- a/sw/qa/extras/layout/layout.cxx
+++ b/sw/qa/extras/layout/layout.cxx
@@ -8,6 +8,7 @@
*/
#include <swmodeltestbase.hxx>
+#include <comphelper/propertysequence.hxx>
#include <test/mtfxmldump.hxx>
#include <com/sun/star/linguistic2/LinguServiceManager.hpp>
#include <comphelper/scopeguard.hxx>
@@ -31,6 +32,7 @@ public:
void testTdf117923();
void testTdf109077();
void testUserFieldTypeLanguage();
+ void testTdf109137();
CPPUNIT_TEST_SUITE(SwLayoutWriter);
CPPUNIT_TEST(testTdf116830);
@@ -45,6 +47,7 @@ public:
CPPUNIT_TEST(testTdf117923);
CPPUNIT_TEST(testTdf109077);
CPPUNIT_TEST(testUserFieldTypeLanguage);
+ CPPUNIT_TEST(testTdf109137);
CPPUNIT_TEST_SUITE_END();
private:
@@ -274,6 +277,23 @@ void SwLayoutWriter::testUserFieldTypeLanguage()
assertXPath(pXmlDoc, "/root/page/body/txt/Special[@nType='POR_FLD']", "rText", "1,234.56");
}
+void SwLayoutWriter::testTdf109137()
+{
+ createDoc("tdf109137.docx");
+ uno::Reference<frame::XStorable> xStorable(mxComponent, uno::UNO_QUERY);
+ utl::TempFile aTempFile;
+ aTempFile.EnableKillingFile();
+ uno::Sequence<beans::PropertyValue> aDescriptor(comphelper::InitPropertySequence({
+ { "FilterName", uno::Any(OUString("writer8")) },
+ }));
+ xStorable->storeToURL(aTempFile.GetURL(), aDescriptor);
+ loadURL(aTempFile.GetURL(), "tdf109137.odt");
+ xmlDocPtr pXmlDoc = parseLayoutDump();
+ // This was 0, the blue rectangle moved from the 1st to the 2nd page.
+ assertXPath(pXmlDoc, "/root/page[1]/body/txt/anchored/fly/notxt",
+ /*nNumberOfNodes=*/1);
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(SwLayoutWriter);
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sw/source/core/doc/textboxhelper.cxx b/sw/source/core/doc/textboxhelper.cxx
index c84131f5f3a1..acd112c17c2b 100644
--- a/sw/source/core/doc/textboxhelper.cxx
+++ b/sw/source/core/doc/textboxhelper.cxx
@@ -86,6 +86,8 @@ void SwTextBoxHelper::create(SwFrameFormat* pShape)
xPropertySet->setPropertyValue(UNO_NAME_SIZE_TYPE, uno::makeAny(text::SizeType::FIX));
+ xPropertySet->setPropertyValue(UNO_NAME_SURROUND, uno::makeAny(text::WrapTextMode_THROUGH));
+
uno::Reference<container::XNamed> xNamed(xTextFrame, uno::UNO_QUERY);
xNamed->setName(pShape->GetDoc()->GetUniqueFrameName());