diff options
-rw-r--r-- | src/declarative/qml/qdeclarativevme.cpp | 19 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativevme_p.h | 2 |
2 files changed, 6 insertions, 15 deletions
diff --git a/src/declarative/qml/qdeclarativevme.cpp b/src/declarative/qml/qdeclarativevme.cpp index bf81ae4fde..f8405be2db 100644 --- a/src/declarative/qml/qdeclarativevme.cpp +++ b/src/declarative/qml/qdeclarativevme.cpp @@ -116,8 +116,6 @@ void QDeclarativeVME::init(QDeclarativeContextData *ctxt, QDeclarativeCompiledDa rootContext = 0; engine = ctxt->engine; - bindValuesCount = 0; - parserStatusCount = 0; } bool QDeclarativeVME::initDeferred(QObject *object) @@ -151,8 +149,6 @@ bool QDeclarativeVME::initDeferred(QObject *object) rootContext = 0; engine = ctxt->engine; - bindValuesCount = 0; - parserStatusCount = 0; return true; } @@ -1248,31 +1244,28 @@ bool QDeclarativeVME::complete(const Interrupt &interrupt) { ActiveVMERestorer restore(this, QDeclarativeEnginePrivate::get(engine)); - while (bindValuesCount < bindValues.count()) { - if(bindValues.at(bindValuesCount)) { - QDeclarativeAbstractBinding *b = bindValues.at(bindValuesCount); + while (!bindValues.isEmpty()) { + QDeclarativeAbstractBinding *b = bindValues.pop(); + + if(b) { b->m_mePtr = 0; b->setEnabled(true, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding); } - ++bindValuesCount; if (interrupt.shouldInterrupt()) return false; } bindValues.deallocate(); - while (parserStatusCount < parserStatus.count()) { - QDeclarativeParserStatus *status = - parserStatus.at(parserStatus.count() - parserStatusCount - 1); + while (!parserStatus.isEmpty()) { + QDeclarativeParserStatus *status = parserStatus.pop(); if (status && status->d) { status->d = 0; status->componentComplete(); } - ++parserStatusCount; - if (interrupt.shouldInterrupt()) return false; } diff --git a/src/declarative/qml/qdeclarativevme_p.h b/src/declarative/qml/qdeclarativevme_p.h index 3d79f9d340..80c02b1b89 100644 --- a/src/declarative/qml/qdeclarativevme_p.h +++ b/src/declarative/qml/qdeclarativevme_p.h @@ -141,8 +141,6 @@ private: QFiniteStack<QObject *> objects; QFiniteStack<QDeclarativeVMETypes::List> lists; - int bindValuesCount; - int parserStatusCount; QFiniteStack<QDeclarativeAbstractBinding *> bindValues; QFiniteStack<QDeclarativeParserStatus *> parserStatus; QDeclarativeContextData *rootContext; |