aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qquickanimatorjob.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/util/qquickanimatorjob.cpp')
-rw-r--r--src/quick/util/qquickanimatorjob.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/quick/util/qquickanimatorjob.cpp b/src/quick/util/qquickanimatorjob.cpp
index 0bf95a49b4..9f81f28b7a 100644
--- a/src/quick/util/qquickanimatorjob.cpp
+++ b/src/quick/util/qquickanimatorjob.cpp
@@ -97,9 +97,11 @@ QQuickAnimatorProxyJob::~QQuickAnimatorProxyJob()
void QQuickAnimatorProxyJob::deleteJob()
{
if (m_job) {
- if (m_controller && m_internalState != State_Starting)
+ // If we have a controller, we might have posted the job to be started
+ // so delete it through the controller to clean up properly.
+ if (m_controller)
m_controller->deleteJob(m_job);
- else if (m_internalState == State_Starting)
+ else
delete m_job;
m_job = 0;
}