aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qquickanimatorjob.cpp
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@digia.com>2013-10-03 09:00:08 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-03 17:48:34 +0200
commit558d7c2b798ad72c217a79a5b9d300877ec12363 (patch)
tree0dfe7cdd43a2810fbcd187443675ce13475990db /src/quick/util/qquickanimatorjob.cpp
parent4ce2c0310c55c78b783b79c1f3fa2e0aa40fe6a2 (diff)
Make transform and opacity animators work when layer.enabled: true
Change-Id: I6d9ece93a75782d524c211fc81a43f4311a38571 Reviewed-by: Michael Brasser <michael.brasser@live.com>
Diffstat (limited to 'src/quick/util/qquickanimatorjob.cpp')
-rw-r--r--src/quick/util/qquickanimatorjob.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/quick/util/qquickanimatorjob.cpp b/src/quick/util/qquickanimatorjob.cpp
index 5ab54ab733..980bbf387c 100644
--- a/src/quick/util/qquickanimatorjob.cpp
+++ b/src/quick/util/qquickanimatorjob.cpp
@@ -314,6 +314,12 @@ void QQuickTransformAnimatorJob::Helper::sync()
| QQuickItemPrivate::TransformOrigin;
QQuickItemPrivate *d = QQuickItemPrivate::get(item);
+ if (d->extra.isAllocated()
+ && d->extra->layer
+ && d->extra->layer->enabled()) {
+ d = QQuickItemPrivate::get(d->extra->layer->m_effectSource);
+ }
+
quint32 dirty = mask & d->dirtyAttributes;
if (!wasSynced) {
@@ -404,6 +410,12 @@ void QQuickOpacityAnimatorJob::initialize(QQuickAnimatorController *controller)
{
QQuickAnimatorJob::initialize(controller);
QQuickItemPrivate *d = QQuickItemPrivate::get(m_target);
+ if (d->extra.isAllocated()
+ && d->extra->layer
+ && d->extra->layer->enabled()) {
+ d = QQuickItemPrivate::get(d->extra->layer->m_effectSource);
+ }
+
m_opacityNode = d->opacityNode();
if (!m_opacityNode) {
m_opacityNode = new QSGOpacityNode();