summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2010-04-29 02:27:35 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2010-04-29 02:27:35 (GMT)
commitf5287ee035fe0c218de47b77038b881d9c857110 (patch)
tree1734073aacaaa1b7a0fe0db233a26d1271a3a0f3 /src/declarative/qml
parentc06769436a081b9f828e7fe85cca20450292689e (diff)
downloadQt-f5287ee035fe0c218de47b77038b881d9c857110.zip
Qt-f5287ee035fe0c218de47b77038b881d9c857110.tar.gz
Qt-f5287ee035fe0c218de47b77038b881d9c857110.tar.bz2
Suppress transient errors from bindings
If a binding generates > 1 transient error, only the first was being suppressed. QTBUG-10274
Diffstat (limited to 'src/declarative/qml')
-rw-r--r--src/declarative/qml/qdeclarativeexpression.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/declarative/qml/qdeclarativeexpression.cpp b/src/declarative/qml/qdeclarativeexpression.cpp
index f561a7e..5ceb918 100644
--- a/src/declarative/qml/qdeclarativeexpression.cpp
+++ b/src/declarative/qml/qdeclarativeexpression.cpp
@@ -57,10 +57,12 @@ QT_BEGIN_NAMESPACE
bool QDeclarativeDelayedError::addError(QDeclarativeEnginePrivate *e)
{
- if (!e || prevError) return false;
+ if (!e) return false;
if (e->inProgressCreations == 0) return false; // Not in construction
+ if (prevError) return true; // Already in error chain
+
prevError = &e->erroredBindings;
nextError = e->erroredBindings;
e->erroredBindings = this;