From 056809af50752adddb75b1b86b0d810dcc97b73e Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Thu, 3 May 2018 14:37:23 +0200 Subject: Fix transformation of gradients for svg objectBoundingBox coordinates QBrush transformations were not applied in the object coordinate space, even when using Qt's ObjectBoundingMode. Use the new ObjectMode instead to fix this. Task-number: QTBUG-59978 Task-number: QTBUG-67995 Change-Id: I79f529853ed8bca86b1811f4edf66244a026a27c Reviewed-by: Allan Sandfeld Jensen --- src/svg/qsvggenerator.cpp | 2 +- src/svg/qsvghandler.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/svg/qsvggenerator.cpp b/src/svg/qsvggenerator.cpp index 424cc76..07f8d74 100644 --- a/src/svg/qsvggenerator.cpp +++ b/src/svg/qsvggenerator.cpp @@ -334,7 +334,7 @@ public: void saveGradientUnits(QTextStream &str, const QGradient *gradient) { str << QLatin1String("gradientUnits=\""); - if (gradient && gradient->coordinateMode() == QGradient::ObjectBoundingMode) + if (gradient && (gradient->coordinateMode() == QGradient::ObjectBoundingMode || gradient->coordinateMode() == QGradient::ObjectMode)) str << QLatin1String("objectBoundingBox"); else str << QLatin1String("userSpaceOnUse"); diff --git a/src/svg/qsvghandler.cpp b/src/svg/qsvghandler.cpp index 6d2e279..1d83af2 100644 --- a/src/svg/qsvghandler.cpp +++ b/src/svg/qsvghandler.cpp @@ -2864,7 +2864,7 @@ static void parseBaseGradient(QSvgNode *node, } if (units.isEmpty() || units == QLatin1String("objectBoundingBox")) { - grad->setCoordinateMode(QGradient::ObjectBoundingMode); + grad->setCoordinateMode(QGradient::ObjectMode); } } -- cgit v1.2.1