diff options
author | Charles Yin <charles.yin@nokia.com> | 2012-02-07 12:06:49 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-07 03:55:42 +0100 |
commit | 5590d4aea56173ee644c80ea09984b6d07b0c1df (patch) | |
tree | fe824fe0f38129bd92c814cb2fa1a1652d5c8548 | |
parent | f2fa12b7d61cbe3e8d0a5372478172545856dfd4 (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.cpp | 3 |
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); |