From bf40668cf05e6bb09ee0c7eca26c59f84fa14437 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Wed, 14 Jul 2010 16:23:10 +1000 Subject: Check for binding having been deleted in more places --- src/declarative/qml/qdeclarativebinding.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/declarative/qml/qdeclarativebinding.cpp b/src/declarative/qml/qdeclarativebinding.cpp index e3b33c0..e096305 100644 --- a/src/declarative/qml/qdeclarativebinding.cpp +++ b/src/declarative/qml/qdeclarativebinding.cpp @@ -205,6 +205,9 @@ void QDeclarativeBinding::update(QDeclarativePropertyPrivate::WriteFlags flags) } else if (d->property.object() && !QDeclarativePropertyPrivate::write(d->property, value, flags)) { + if (wasDeleted) + return; + QUrl url = QUrl(d->url); int line = d->line; if (url.isEmpty()) url = QUrl(QLatin1String("")); @@ -222,6 +225,9 @@ void QDeclarativeBinding::update(QDeclarativePropertyPrivate::WriteFlags flags) QLatin1String(QMetaType::typeName(d->property.propertyType()))); } + if (wasDeleted) + return; + if (d->error.isValid()) { if (!d->addError(ep)) ep->warning(this->error()); } else { -- cgit v0.12