diff options
author | Sourav <sourav.mahajan@synerzip.com> | 2014-03-28 18:25:39 +0530 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-04-04 11:39:06 +0200 |
commit | df098f6207fdf79d566bf50cc2c2c87fcd295ff8 (patch) | |
tree | b2fd4dc6fd5b9f7890a01403e3dbfacd0a371236 /sw/qa | |
parent | c067735f222d41698f4353fa7cbeaeb432573405 (diff) |
fdo76734-Text Box is not preserved for file created in MSWord 2007.
Issue:Only one AlternateContent is getting written in the RT file irrespective of
the number of TextBoxes in the original file which is causing the issue.
RootCause is found in DocxAttributeOutput::OutputFlyFrame_Impl where under case
sw::Frame::eTxtBox,m_aFramesOfParagraph.push_back(sw::Frame(rFrame)); is getting executed only once.
push_back should happen as many number of times as there are TextBoxes in the original file.
if(rFrame.GetFrmFmt().GetName() == m_aFramesOfParagraph[nIndex].GetFrmFmt().GetName())
bDuplicate = true;
In the above check both the GetName() are returning values as empty which leads to
bDuplicate equals TRUE and hence push_back does not happen.
I have introduced one more check to handle this.
Also changes are made in for loop to make it more efficient.
Conflicts:
sw/qa/extras/ooxmlexport/ooxmlexport.cxx
Reviewed on:
https://gerrit.libreoffice.org/8782
Change-Id: I397aa3c4548cb57e8dacbf3fbf9ebaf87c0daa80
Diffstat (limited to 'sw/qa')
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/test76734_2K7.docx | bin | 0 -> 10446 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 8 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/test76734_2K7.docx b/sw/qa/extras/ooxmlexport/data/test76734_2K7.docx Binary files differnew file mode 100644 index 000000000000..5e0e114a5dc1 --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/test76734_2K7.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index 1e1fd6dac6a3..68ef7ebbe7bd 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -3041,6 +3041,14 @@ DECLARE_OOXMLEXPORT_TEST(testFDO76586, "fdo76586.docx") assertXPath(pXmlDoc, "//w:tblGrid/w:gridCol[2]", "w", "7843"); } +DECLARE_OOXMLEXPORT_TEST(test76734_2K7, "test76734_2K7.docx") +{ + xmlDocPtr pXmlDoc = parseExport("word/document.xml"); + if (!pXmlDoc) + return; + assertXPath(pXmlDoc, "/w:document[1]/w:body[1]/w:p[1]/w:r[3]/mc:AlternateContent[1]/mc:Choice[1]", "Requires", "wps"); +} + #endif CPPUNIT_PLUGIN_IMPLEMENT(); |