aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Yin <charles.yin@nokia.com>2012-02-07 12:06:49 +1000
committerQt by Nokia <qt-info@nokia.com>2012-02-07 03:55:42 +0100
commit5590d4aea56173ee644c80ea09984b6d07b0c1df (patch)
treefe824fe0f38129bd92c814cb2fa1a1652d5c8548
parentf2fa12b7d61cbe3e8d0a5372478172545856dfd4 (diff)
More fixes for QDeclarativeListModelWorkerAgent cleanup
1) Use deleteLater() instead of delete to avoid crashing with any pending events 2) During event processing, return earlier if possible Change-Id: Ia7d6c95acf1175a16b80e952b95909bb5bbc9433 Reviewed-by: Glenn Watson <glenn.watson@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
-rw-r--r--src/declarative/qml/qdeclarativelistmodelworkeragent.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/declarative/qml/qdeclarativelistmodelworkeragent.cpp b/src/declarative/qml/qdeclarativelistmodelworkeragent.cpp
index 3ae1b32646..51ac460adf 100644
--- a/src/declarative/qml/qdeclarativelistmodelworkeragent.cpp
+++ b/src/declarative/qml/qdeclarativelistmodelworkeragent.cpp
@@ -114,7 +114,7 @@ void QDeclarativeListModelWorkerAgent::release()
bool del = !m_ref.deref();
if (del)
- delete this;
+ deleteLater();
}
void QDeclarativeListModelWorkerAgent::modelDestroyed()
@@ -236,6 +236,7 @@ bool QDeclarativeListModelWorkerAgent::event(QEvent *e)
if (cc)
emit m_orig->countChanged();
+ return true;
}
return QObject::event(e);