summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEirik Aavitsland <eirik.aavitsland@qt.io>2018-05-03 14:37:23 +0200
committerEirik Aavitsland <eirik.aavitsland@qt.io>2018-06-29 09:04:00 +0000
commit056809af50752adddb75b1b86b0d810dcc97b73e (patch)
tree887e7c78f557f85f983204527b6f5bec31de1b0f /src
parent3d3544f85a8d0835f9fcc2b62800c278cc42ebfe (diff)
downloadqtsvg-056809af50752adddb75b1b86b0d810dcc97b73e.tar.gz
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 <allan.jensen@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/svg/qsvggenerator.cpp2
-rw-r--r--src/svg/qsvghandler.cpp2
2 files changed, 2 insertions, 2 deletions
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);
}
}