diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2011-08-01 12:32:10 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-08-01 04:49:54 +0200 |
commit | f609c2f3b148f0d31167b9feeabe8f2c4bbd03b8 (patch) | |
tree | 3c9ce26ae840c75a98ddff81cf4b766a566abf66 /src/declarative/util/qdeclarativebind.cpp | |
parent | 9bc7e70c00736678d1430190566d2575c2ec764a (diff) |
Fix Binding to correctly restore bindings even when a binding loop is involved.
Change-Id: Ie8f9731d9f4834d8b94272ef792dc7ad0235ce78
Reviewed-on: http://codereview.qt.nokia.com/2409
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src/declarative/util/qdeclarativebind.cpp')
-rw-r--r-- | src/declarative/util/qdeclarativebind.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/declarative/util/qdeclarativebind.cpp b/src/declarative/util/qdeclarativebind.cpp index 726adf96d4..fa463ebef8 100644 --- a/src/declarative/util/qdeclarativebind.cpp +++ b/src/declarative/util/qdeclarativebind.cpp @@ -280,11 +280,11 @@ void QDeclarativeBind::eval() if (!d->when) { //restore any previous binding if (d->prevBind) { - QDeclarativeAbstractBinding *tmp; - tmp = QDeclarativePropertyPrivate::setBinding(d->prop, d->prevBind); + QDeclarativeAbstractBinding *tmp = d->prevBind; + d->prevBind = 0; + tmp = QDeclarativePropertyPrivate::setBinding(d->prop, tmp); if (tmp) //should this ever be true? tmp->destroy(); - d->prevBind = 0; } return; } |