From aa03fd09c0e18ace241c9fe151f7f52c6773f403 Mon Sep 17 00:00:00 2001 From: Justin Luth Date: Sat, 13 Feb 2016 16:28:48 +0300 Subject: [PATCH] tdf#56321 - .doc import image flipped status Although LO was exporting whether an image was flipped horizontally or vertically, it wasn't reading it in during an import. Change-Id: Ia85e3459d00f40d852bbcd3fcfe15e7b53d518ba Reviewed-on: https://gerrit.libreoffice.org/22344 Tested-by: Jenkins Reviewed-by: Justin Luth Reviewed-by: Michael Stahl --- .../data/tdf56321_flipImage_both.doc | Bin 0 -> 22528 bytes sw/qa/extras/ww8export/ww8export.cxx | 20 ++++++++++++++++++ sw/source/filter/ww8/ww8graf.cxx | 18 ++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 sw/qa/extras/ww8export/data/tdf56321_flipImage_both.doc diff --git a/sw/qa/extras/ww8export/data/tdf56321_flipImage_both.doc b/sw/qa/extras/ww8export/data/tdf56321_flipImage_both.doc new file mode 100644 index 0000000000000000000000000000000000000000..a5293f29f526cf4f8a8eec787352bb6b0e7f5ade GIT binary patch literal 22528 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 D=2VHc literal 0 HcmV?d00001 diff --git a/sw/qa/extras/ww8export/ww8export.cxx b/sw/qa/extras/ww8export/ww8export.cxx index ec0387388e0d..38c0ebffcd69 100644 --- a/sw/qa/extras/ww8export/ww8export.cxx +++ b/sw/qa/extras/ww8export/ww8export.cxx @@ -23,7 +23,9 @@ #include #include #include +#include #include +#include #include #include @@ -567,6 +569,24 @@ DECLARE_WW8EXPORT_TEST(testTextVerticalAdjustment, "tdf36117_verticalAdjustment. CPPUNIT_ASSERT_EQUAL( drawing::TextVerticalAdjust_BLOCK, nVA ); } +DECLARE_WW8EXPORT_TEST(testRES_MIRROR_GRAPH_BOTH, "tdf56321_flipImage_both.doc") +{ + SwXTextDocument* pTextDoc = dynamic_cast(mxComponent.get()); + CPPUNIT_ASSERT(pTextDoc); + SwDoc* pDoc = pTextDoc->GetDocShell()->GetDoc(); + CPPUNIT_ASSERT(pDoc); + + for (int n = 0; ; n++) + { + SwNode* pNode = pDoc->GetNodes()[ n ]; + if (SwGrfNode *pGrfNode = pNode->GetGrfNode()) + { + CPPUNIT_ASSERT(pGrfNode->GetSwAttrSet().GetMirrorGrf().GetValue() == 3); + break; + } + } +} + DECLARE_WW8EXPORT_TEST(testCommentExport, "comment-export.odt") { struct TextPortionInfo { diff --git a/sw/source/filter/ww8/ww8graf.cxx b/sw/source/filter/ww8/ww8graf.cxx index 22f7510738a7..7c480d4ea5c3 100644 --- a/sw/source/filter/ww8/ww8graf.cxx +++ b/sw/source/filter/ww8/ww8graf.cxx @@ -2094,6 +2094,24 @@ SwWW8ImplReader::SetAttributesAtGrfNode(SvxMSDffImportRec const*const pRecord, pGrfNd->SetAttr( aCrop ); } + bool bFlipH = pRecord->nFlags & SHAPEFLAG_FLIPH; + bool bFlipV = pRecord->nFlags & SHAPEFLAG_FLIPV; + if ( bFlipH || bFlipV ) + { + SwMirrorGrf aMirror = pGrfNd->GetSwAttrSet().GetMirrorGrf(); + if( bFlipH ) + { + if( bFlipV ) + aMirror.SetValue(RES_MIRROR_GRAPH_BOTH); + else + aMirror.SetValue(RES_MIRROR_GRAPH_VERT); + } + else + aMirror.SetValue(RES_MIRROR_GRAPH_HOR); + + pGrfNd->SetAttr( aMirror ); + } + if (pRecord->pObj) { const SfxItemSet& rOldSet = pRecord->pObj->GetMergedItemSet();