summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-08-15 12:24:24 +0200
committerLiang Qi <liang.qi@qt.io>2017-08-15 13:43:41 +0200
commitdc9e39eb679946e82bf3b1a82f5c49737f9994b2 (patch)
treede7915ee5859149738a004134f2d146fae1c303f /src
parent9c8d5d82b6c222f8dbbe60ec0b9382bb75b52f42 (diff)
parent0fcd0160662941a9ba800b36671e88d82790bd95 (diff)
downloadqtsvg-dc9e39eb679946e82bf3b1a82f5c49737f9994b2.tar.gz
Merge remote-tracking branch 'origin/5.9' into devv5.10.0-beta3v5.10.0-beta2v5.10.0-beta1v5.10.0-alpha1
Conflicts: .qmake.conf Change-Id: I1ebd40264cf1afaf5bcbf8b2f272e153f51a5625
Diffstat (limited to 'src')
-rw-r--r--src/plugins/imageformats/svg/qsvgiohandler.cpp3
-rw-r--r--src/svg/qsvghandler.cpp6
2 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/imageformats/svg/qsvgiohandler.cpp b/src/plugins/imageformats/svg/qsvgiohandler.cpp
index 0c26cb5..457c79e 100644
--- a/src/plugins/imageformats/svg/qsvgiohandler.cpp
+++ b/src/plugins/imageformats/svg/qsvgiohandler.cpp
@@ -176,7 +176,8 @@ bool QSvgIOHandler::read(QImage *image)
t.translate(tr1.x(), tr1.y());
bounds = t.mapRect(bounds);
}
- *image = QImage(finalSize, QImage::Format_ARGB32_Premultiplied);
+ if (image->size() != finalSize || !image->reinterpretAsFormat(QImage::Format_ARGB32_Premultiplied))
+ *image = QImage(finalSize, QImage::Format_ARGB32_Premultiplied);
if (!finalSize.isEmpty()) {
image->fill(d->backColor.rgba());
QPainter p(image);
diff --git a/src/svg/qsvghandler.cpp b/src/svg/qsvghandler.cpp
index 0971fdf..d49a4ab 100644
--- a/src/svg/qsvghandler.cpp
+++ b/src/svg/qsvghandler.cpp
@@ -1143,9 +1143,9 @@ static QMatrix parseTransformationMatrix(const QStringRef &value)
if(state == Matrix) {
if(points.count() != 6)
goto error;
- matrix = matrix * QMatrix(points[0], points[1],
- points[2], points[3],
- points[4], points[5]);
+ matrix = QMatrix(points[0], points[1],
+ points[2], points[3],
+ points[4], points[5]) * matrix;
} else if (state == Translate) {
if (points.count() == 1)
matrix.translate(points[0], 0);