aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2011-07-19 09:36:07 +1000
committerQt by Nokia <qt-info@nokia.com>2011-07-20 03:07:41 +0200
commit6ef9beba08a78f490fb9451f1a04bb9f153ec4fb (patch)
tree5652134300f6093e966c6846c6e6f5c3d63f3b86
parent16eed427f1ce24cca99d9afa888331b889c5b82e (diff)
Fix QSGItem transforms.
If a complex transform exists, it needs to be applied whenever there are relevant changes (TransformUpdateMask), and not just when the transform changes (ComplexTransformUpdateMask). Change-Id: I395f6bed02a671b23dcb5d4ccb3be204d4bafd82 Reviewed-on: http://codereview.qt.nokia.com/1793 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
-rw-r--r--src/declarative/items/qsgcanvas.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/declarative/items/qsgcanvas.cpp b/src/declarative/items/qsgcanvas.cpp
index 983af89cb5..d9bf99d196 100644
--- a/src/declarative/items/qsgcanvas.cpp
+++ b/src/declarative/items/qsgcanvas.cpp
@@ -1676,10 +1676,8 @@ void QSGCanvasPrivate::updateDirtyNode(QSGItem *item)
if (itemPriv->x != 0. || itemPriv->y != 0.)
matrix.translate(itemPriv->x, itemPriv->y);
- if (dirty & QSGItemPrivate::ComplexTransformUpdateMask) {
- for (int ii = itemPriv->transforms.count() - 1; ii >= 0; --ii)
- itemPriv->transforms.at(ii)->applyTo(&matrix);
- }
+ for (int ii = itemPriv->transforms.count() - 1; ii >= 0; --ii)
+ itemPriv->transforms.at(ii)->applyTo(&matrix);
if (itemPriv->scale != 1. || itemPriv->rotation != 0.) {
QPointF origin = itemPriv->computeTransformOrigin();