diff options
Diffstat (limited to 'src/declarative/qml/qdeclarativecontext.cpp')
-rw-r--r-- | src/declarative/qml/qdeclarativecontext.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp index 3f838d5fd1..3e0db16346 100644 --- a/src/declarative/qml/qdeclarativecontext.cpp +++ b/src/declarative/qml/qdeclarativecontext.cpp @@ -579,10 +579,11 @@ void QDeclarativeContextData::clearContext() while (expression) { QDeclarativeAbstractExpression *nextExpression = expression->m_nextExpression; - expression->m_context = 0; expression->m_prevExpression = 0; expression->m_nextExpression = 0; + expression->setContext(0); + expression = nextExpression; } expressions = 0; @@ -656,7 +657,7 @@ void QDeclarativeContextData::setParent(QDeclarativeContextData *p, bool parentT void QDeclarativeContextData::refreshExpressionsRecursive(QDeclarativeAbstractExpression *expression) { - QDeleteWatcher w(expression); + QDeclarativeAbstractExpression::DeleteWatcher w(expression); if (expression->m_nextExpression) refreshExpressionsRecursive(expression->m_nextExpression); |