diff options
author | Szabolcs Toth <szabolcs450@gmail.com> | 2020-03-17 11:39:33 +0100 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2020-04-01 10:50:00 +0200 |
commit | 14f11a2a26163123502ac9ea915416871d180cc0 (patch) | |
tree | 91dcd7350f78f727847350cee41cdc47429032b3 /oox | |
parent | 8daf9336b0991d756c8fe2eeea6543bfeb8ce245 (diff) |
tdf#100751 DOCX VML shape import: fix arrow direction
Flips along both the y- and x-axis weren't imported,
resulting wrong direction of arrow and other shapes.
Co-Author: Balázs Regényi
Change-Id: Iac222ac2a6a6110289969c32b40828b83da0aefd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90646
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga991@gmail.com>
(cherry picked from commit cb441c4d0adf698e6af9073c6c3285a66b76871e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91391
Tested-by: Xisco Faulí <xiscofauli@libreoffice.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/vml/vmlshape.cxx | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/oox/source/vml/vmlshape.cxx b/oox/source/vml/vmlshape.cxx index 45409c3f23a3..e1c857f5528e 100644 --- a/oox/source/vml/vmlshape.cxx +++ b/oox/source/vml/vmlshape.cxx @@ -671,11 +671,11 @@ Reference< XShape > SimpleShape::implConvertAndInsert( const Reference< XShapes oRotation = ConversionHelper::decodeRotation(maTypeModel.maRotation); if (!maTypeModel.maFlip.isEmpty()) { - if (maTypeModel.maFlip == "x") + if (maTypeModel.maFlip.startsWith("x")) { bFlipX = true; } - else if (maTypeModel.maFlip == "y") + if (maTypeModel.maFlip.endsWith("y")) { bFlipY = true; } @@ -831,17 +831,10 @@ Reference< XShape > SimpleShape::implConvertAndInsert( const Reference< XShapes // When flip has 'x' or 'y', the associated ShapeRect will be changed but direction change doesn't occur. // It might occur internally in SdrObject of "sw" module, not here. // The associated properties "PROP_MirroredX" and "PROP_MirroredY" have to be set here so that direction change will occur internally. - if (bFlipX || bFlipY) - { - assert(!(bFlipX && bFlipY)); - css::beans::PropertyValue aProp; - if (bFlipX) - aProp.Name = "MirroredX"; - else - aProp.Name = "MirroredY"; - aProp.Value <<= true; - aPropVec.push_back(aProp); - } + if (bFlipX) + aPropVec.push_back(comphelper::makePropertyValue("MirroredX", true)); + if (bFlipY) + aPropVec.push_back(comphelper::makePropertyValue("MirroredY", true)); if (!maTypeModel.maAdjustments.isEmpty()) { |