From: Michael Brasser Date: Mon, 18 Jul 2011 23:36:07 +0000 (+1000) Subject: Fix QSGItem transforms. X-Git-Url: http://git.silmor.de/gitweb/?a=commitdiff_plain;h=6ef9beba08a78f490fb9451f1a04bb9f153ec4fb;p=konrad%2Fqtdeclarative.git 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 Reviewed-by: Michael Brasser --- diff --git a/src/declarative/items/qsgcanvas.cpp b/src/declarative/items/qsgcanvas.cpp index 983af89..d9bf99d 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();