From: Charles Yin Date: Tue, 7 Feb 2012 02:06:49 +0000 (+1000) Subject: More fixes for QDeclarativeListModelWorkerAgent cleanup X-Git-Url: http://git.silmor.de/gitweb/?a=commitdiff_plain;h=5590d4aea56173ee644c80ea09984b6d07b0c1df;p=konrad%2Fqtdeclarative.git 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 Reviewed-by: Martin Jones --- diff --git a/src/declarative/qml/qdeclarativelistmodelworkeragent.cpp b/src/declarative/qml/qdeclarativelistmodelworkeragent.cpp index 3ae1b32..51ac460 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);