From a95814e170643d67a682482b08f574e0f1e9fbf1 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Tue, 21 Jun 2011 12:18:49 +1000 Subject: Fix crash in PropertyChanges. Don't crash when adding an optimized binding to an object not associated with a QDeclarativeEngine. Change-Id: I4501e21e959380fedfafdc8bc477b330cffbce1b Task-number: QTBUG-19914 Reviewed-by: Aaron Kennedy --- src/declarative/qml/qdeclarativebinding.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/declarative/qml/qdeclarativebinding.cpp b/src/declarative/qml/qdeclarativebinding.cpp index a5bd604..56361da 100644 --- a/src/declarative/qml/qdeclarativebinding.cpp +++ b/src/declarative/qml/qdeclarativebinding.cpp @@ -243,12 +243,13 @@ QDeclarativeBinding::createBinding(Identifier id, QObject *obj, QDeclarativeCont if (id < 0) return 0; + Q_ASSERT(ctxt); QDeclarativeContextData *ctxtdata = QDeclarativeContextData::get(ctxt); - QDeclarativeEnginePrivate *engine = QDeclarativeEnginePrivate::get(qmlEngine(obj)); + QDeclarativeEnginePrivate *engine = QDeclarativeEnginePrivate::get(ctxtdata->engine); QDeclarativeCompiledData *cdata = 0; QDeclarativeTypeData *typeData = 0; - if (engine && ctxtdata && !ctxtdata->url.isEmpty()) { + if (!ctxtdata->url.isEmpty()) { typeData = engine->typeLoader.get(ctxtdata->url); cdata = typeData->compiledData(); } -- cgit v0.12