diff options
author | Gunnar Sletta <gunnar.sletta@digia.com> | 2013-10-03 09:00:08 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-03 17:48:34 +0200 |
commit | 558d7c2b798ad72c217a79a5b9d300877ec12363 (patch) | |
tree | 0dfe7cdd43a2810fbcd187443675ce13475990db /src/quick/util/qquickanimatorjob.cpp | |
parent | 4ce2c0310c55c78b783b79c1f3fa2e0aa40fe6a2 (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.cpp | 12 |
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(); |