[Libreoffice-commits] core.git: sw/qa sw/source
YogeshBharate
yogesh.bharate at synerzip.com
Fri Feb 14 10:42:36 CET 2014
sw/qa/extras/ooxmlexport/data/testOuterShdw.docx |binary
sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 8 ++++++++
sw/source/filter/ww8/docxsdrexport.cxx | 2 +-
3 files changed, 9 insertions(+), 1 deletion(-)
New commits:
commit fa9d574ae1656b64670fbbac64ddd85461698149
Author: YogeshBharate <yogesh.bharate at synerzip.com>
Date: Wed Feb 5 19:27:09 2014 +0530
Code changes for fdo#74107:File Corruption - Issue with outerShdw
Problem Description:
- In document.xml, outerShdw dist contains the negative value after roundtrip.
- Due to negative value file get corrupted.
XML difference:
Roundtrip: Before fix
<a:outerShdw dist="-1363652116480" dir="2700000">
Roundtrip: After fix
<a:outerShdw dist="57811035" dir="2700000">
Conflicts:
sw/qa/extras/ooxmlexport/ooxmlexport.cxx
Reviewed on:
https://gerrit.libreoffice.org/7880
Change-Id: Ied752672244d5768dee554e907f2f4d7a9d077d5
diff --git a/sw/qa/extras/ooxmlexport/data/testOuterShdw.docx b/sw/qa/extras/ooxmlexport/data/testOuterShdw.docx
new file mode 100644
index 0000000..cc559a3
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/testOuterShdw.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
index 5a0b817..ccbdc63 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
@@ -3182,6 +3182,14 @@ DECLARE_OOXMLEXPORT_TEST(testCaption4, "TableWithAboveCaptions.docx")
CPPUNIT_ASSERT(contents.match(" SEQ Table \\* ARABIC"));
}
+DECLARE_OOXMLEXPORT_TEST(testOuterShdw,"testOuterShdw.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]/w:drawing[1]/wp:anchor[1]/a:graphic[1]/a:graphicData[1]/wps:wsp[1]/wps:spPr[1]/a:effectLst[1]/a:outerShdw[1]", "dist", "57811035");
+}
+
#endif
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sw/source/filter/ww8/docxsdrexport.cxx b/sw/source/filter/ww8/docxsdrexport.cxx
index 7abc92a..ad86205 100644
--- a/sw/source/filter/ww8/docxsdrexport.cxx
+++ b/sw/source/filter/ww8/docxsdrexport.cxx
@@ -571,7 +571,7 @@ void DocxSdrExport::writeDMLEffectLst(const SwFrmFmt& rFrmFmt)
if (aShadowItem.GetLocation() != SVX_SHADOW_NONE)
{
// Distance is measured diagonally from corner
- double nShadowDist = sqrt((aShadowItem.GetWidth()*aShadowItem.GetWidth())*2.0);
+ double nShadowDist = sqrt((double)aShadowItem.GetWidth()*aShadowItem.GetWidth()*2.0);
OString aShadowDist(OString::number(TwipsToEMU(nShadowDist)));
OString aShadowColor = msfilter::util::ConvertColor(aShadowItem.GetColor());
OString aShadowAlpha = lcl_ConvertTransparency(aShadowItem.GetColor());
More information about the Libreoffice-commits
mailing list