summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
authorSzabolcs Toth <szabolcs450@gmail.com>2020-03-17 11:39:33 +0100
committerLászló Németh <nemeth@numbertext.org>2020-04-01 10:50:00 +0200
commit14f11a2a26163123502ac9ea915416871d180cc0 (patch)
tree91dcd7350f78f727847350cee41cdc47429032b3 /oox
parent8daf9336b0991d756c8fe2eeea6543bfeb8ce245 (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.cxx19
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())
{