diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2014-08-17 18:12:16 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@collabora.com> | 2014-08-17 18:16:42 +0200 |
commit | 4a1888a97eab4ead2e0bec76cd1cba410a8e7e13 (patch) | |
tree | db5259d355d07eb7aab107df7ab9c5b7683da34a /sw/qa/extras/ww8import | |
parent | 1bc196059faf2fc53bf0ffce2f634b20da4a4a16 (diff) |
fix reading a .doc that has frame anchored to the end of page (bnc#787942)
MSWord, unlike Writer, can anchor even to a page break (i.e. after the last
paragraph). When this document was read, what happended was:
- the last paragraph was read and the current position PaM was set to point
after it
- frame was read and anchored to the PaM
- page break was read, making everything following be moved to the next page;
including whatever ended up at the PaM position
Handle this by checking for this case and inserting an extra empty paragraph
before the break. This shouldn't affect layout of the page itself anyway,
since the break should leave room for it (and MSWord shows a page break
there if control characters are enabled, so there is room).
Change-Id: Ia2a13bf5cf1c959b5aa228254365019a00a22679
Diffstat (limited to 'sw/qa/extras/ww8import')
-rw-r--r-- | sw/qa/extras/ww8import/data/bnc787942.doc | bin | 0 -> 24064 bytes | |||
-rw-r--r-- | sw/qa/extras/ww8import/ww8import.cxx | 7 |
2 files changed, 7 insertions, 0 deletions
diff --git a/sw/qa/extras/ww8import/data/bnc787942.doc b/sw/qa/extras/ww8import/data/bnc787942.doc Binary files differnew file mode 100644 index 000000000000..06b2c39f2f84 --- /dev/null +++ b/sw/qa/extras/ww8import/data/bnc787942.doc diff --git a/sw/qa/extras/ww8import/ww8import.cxx b/sw/qa/extras/ww8import/ww8import.cxx index fe4a8fcca05a..463c5aee19e0 100644 --- a/sw/qa/extras/ww8import/ww8import.cxx +++ b/sw/qa/extras/ww8import/ww8import.cxx @@ -504,6 +504,13 @@ DECLARE_WW8IMPORT_TEST(testFloatingTableSectionColumns, "floating-table-section- CPPUNIT_ASSERT( tableWidth.toInt32() > 10000 ); } +DECLARE_WW8IMPORT_TEST(testBnc787942, "bnc787942.doc") +{ + // The frame ended up on the second page instead of first. + parseDump("/root/page[1]/body/txt[4]/anchored"); +} + + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |