summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Luth <justin_luth@sil.org>2016-07-06 10:04:04 +0300
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-07-12 06:43:56 +0000
commitecea3431ca761369d8180a74eba2877533050516 (patch)
treeb2460ab5852f586d71d6f6b46b67a0679825cc8d
parent43bc09d6ddfafe4989f922ac2b41f0ac2bedc136 (diff)
tdf75573 docx - complete frames before starting alternate streams
An unused odd header was set to be discarded. The handling of unregistered frames occurred at the same time, and thus ended up being discarded as well. Since a frame shouldn't encompass both the alternate stream and the current stream, finalize any unfinished frames first. Change-Id: Ie9123769724da461dd265936aa6b97de7f4dfbbc Reviewed-on: https://gerrit.libreoffice.org/26972 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r--sw/qa/extras/ooxmlimport/data/tdf75573_page1frame.docxbin0 -> 29488 bytes
-rw-r--r--sw/qa/extras/ooxmlimport/ooxmlimport.cxx7
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx4
3 files changed, 11 insertions, 0 deletions
diff --git a/sw/qa/extras/ooxmlimport/data/tdf75573_page1frame.docx b/sw/qa/extras/ooxmlimport/data/tdf75573_page1frame.docx
new file mode 100644
index 000000000000..d6bc29d36b06
--- /dev/null
+++ b/sw/qa/extras/ooxmlimport/data/tdf75573_page1frame.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index 4826c61b47e2..a1cefb0f8b06 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -1732,6 +1732,13 @@ DECLARE_OOXMLIMPORT_TEST(testfdo76583, "fdo76583.docx")
lcl_countTextFrames( mxComponent, 1 );
}
+DECLARE_OOXMLIMPORT_TEST(testTdf75573, "tdf75573_page1frame.docx")
+{
+ // the problem was that an odd header was defined but not used, flagged as
+ // discardable, and then the unrelated frame was also discarded.
+ lcl_countTextFrames( mxComponent, 1 );
+}
+
DECLARE_OOXMLIMPORT_TEST(testFdo43093, "fdo43093.docx")
{
// The problem was that the direction and alignment are not correct for RTL paragraphs.
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index be5559174203..0bb506254bb7 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -5246,6 +5246,10 @@ void DomainMapper_Impl::substream(Id rName,
appendTableHandler();
getTableManager().startLevel();
+ //finalize any waiting frames before starting alternate streams
+ CheckUnregisteredFrameConversion();
+ ExecuteFrameConversion();
+
//import of page header/footer
switch( rName )