Skip the captured properties step in bindings
authorAaron Kennedy <aaron.kennedy@nokia.com>
Wed, 2 Nov 2011 14:28:02 +0000 (14:28 +0000)
committerQt by Nokia <qt-info@nokia.com>
Fri, 4 Nov 2011 10:27:52 +0000 (11:27 +0100)
commitf9261feb16d02e985982dd46783ea54c2cfce91b
tree205743bcd164628f882aa35580fd136384a28acb
parent0dd867535bebf6db673d4f03959e62e94ff35ba2
Skip the captured properties step in bindings

Objects and notifiers in the capturedProperties list were not guarded
which can lead to crashes if they're deleted prior to the binding
completing.  Now the notifiers are connected to and guarded immediately
to prevent this.

Change-Id: I912e323c52bf6169fb5077e552d5d38d9aa7faec
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
16 files changed:
src/declarative/qml/ftw/ftw.pri
src/declarative/qml/ftw/qfieldlist_p.h
src/declarative/qml/ftw/qrecyclepool_p.h [new file with mode: 0644]
src/declarative/qml/qdeclarativeengine.cpp
src/declarative/qml/qdeclarativeengine_p.h
src/declarative/qml/qdeclarativeexpression.cpp
src/declarative/qml/qdeclarativeexpression_p.h
src/declarative/qml/v4/qv4compiler.cpp
src/declarative/qml/v4/qv4compiler_p.h
src/declarative/qml/v8/qv8contextwrapper.cpp
src/declarative/qml/v8/qv8qobjectwrapper.cpp
tests/auto/declarative/qdeclarativeecmascript/data/deleteWhileBindingRunning.qml [new file with mode: 0644]
tests/auto/declarative/qdeclarativeecmascript/data/nonNotifyable.qml [new file with mode: 0644]
tests/auto/declarative/qdeclarativeecmascript/testtypes.cpp
tests/auto/declarative/qdeclarativeecmascript/testtypes.h
tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp