diff options
author | Jesper Thomschutz <jesper.thomschutz@nokia.com> | 2010-09-15 07:45:55 (GMT) |
---|---|---|
committer | A-Team <ateam@pad.test.qt.nokia.com> | 2010-09-15 07:46:55 (GMT) |
commit | f78119906b0ffc7fd3dd36d6d827d456478a7fd5 (patch) | |
tree | e161fe397dedd702f86d186ef32eabcf7cae00d8 /src/declarative/util | |
parent | 66420856664c7a412b3c9efe4be6ff7a6061e5f2 (diff) | |
parent | 05ab8ad1577fc038aa2b3bd96cedda54e6a64979 (diff) | |
download | Qt-f78119906b0ffc7fd3dd36d6d827d456478a7fd5.zip Qt-f78119906b0ffc7fd3dd36d6d827d456478a7fd5.tar.gz Qt-f78119906b0ffc7fd3dd36d6d827d456478a7fd5.tar.bz2 |
git Merge branch '4.7-upstream' into 4.7-doc
Conflicts:
src/gui/kernel/qgesturemanager.cpp
Diffstat (limited to 'src/declarative/util')
-rw-r--r-- | src/declarative/util/qdeclarativeanimation.cpp | 5 | ||||
-rw-r--r-- | src/declarative/util/qdeclarativestateoperations.cpp | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index 3c09747..ea3da25 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -2699,14 +2699,15 @@ void QDeclarativeParentAnimation::transition(QDeclarativeStateActions &actions, qreal scale = 1; qreal rotation = 0; - if (ok && transform.type() != QTransform::TxRotate) { + bool isRotate = (transform.type() == QTransform::TxRotate) || (transform.m11() < 0); + if (ok && !isRotate) { if (transform.m11() == transform.m22()) scale = transform.m11(); else { qmlInfo(this) << QDeclarativeParentAnimation::tr("Unable to preserve appearance under non-uniform scale"); ok = false; } - } else if (ok && transform.type() == QTransform::TxRotate) { + } else if (ok && isRotate) { if (transform.m11() == transform.m22()) scale = qSqrt(transform.m11()*transform.m11() + transform.m12()*transform.m12()); else { diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp index 845b3da..a78fc54 100644 --- a/src/declarative/util/qdeclarativestateoperations.cpp +++ b/src/declarative/util/qdeclarativestateoperations.cpp @@ -98,14 +98,15 @@ void QDeclarativeParentChangePrivate::doChange(QDeclarativeItem *targetParent, Q qreal scale = 1; qreal rotation = 0; - if (ok && transform.type() != QTransform::TxRotate) { + bool isRotate = (transform.type() == QTransform::TxRotate) || (transform.m11() < 0); + if (ok && !isRotate) { if (transform.m11() == transform.m22()) scale = transform.m11(); else { qmlInfo(q) << QDeclarativeParentChange::tr("Unable to preserve appearance under non-uniform scale"); ok = false; } - } else if (ok && transform.type() == QTransform::TxRotate) { + } else if (ok && isRotate) { if (transform.m11() == transform.m22()) scale = qSqrt(transform.m11()*transform.m11() + transform.m12()*transform.m12()); else { |