aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-11-09 01:58:28 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-09 02:01:01 +0100
commite367f75d7285d2bcd10cbb35d088c96f33c02aff (patch)
tree50ad5ad6655e342d859f289e52be0a256b1af777 /src/quick/util
parent8078e2ea1350fd5109074a2be7207d75840e57f7 (diff)
Fix crash in animation controller upon destruction
Triggered by tst_examples, it appears that we can have jobs in m_deleting that are also still listed in m_starting. So similar to what we do in beforeNodeSync, we now also take any deletion-scheduled jobs out of m_starting/m_stopping in the destructor. Change-Id: I2e00570a4e4669f8172354bf5806c5285920030a Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/quick/util')
-rw-r--r--src/quick/util/qquickanimatorcontroller.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/quick/util/qquickanimatorcontroller.cpp b/src/quick/util/qquickanimatorcontroller.cpp
index a2364f4586..7991dd8110 100644
--- a/src/quick/util/qquickanimatorcontroller.cpp
+++ b/src/quick/util/qquickanimatorcontroller.cpp
@@ -62,6 +62,8 @@ QQuickAnimatorController::~QQuickAnimatorController()
// The proxy job might already have been deleted, in which case we
// need to avoid calling functions on them. Then delete the job.
foreach (QAbstractAnimationJob *job, m_deleting) {
+ m_starting.take(job);
+ m_stopping.take(job);
m_animatorRoots.take(job);
delete job;
}