Deleting an incubated object after setInitialState() crashes
authorMartin Jones <martin.jones@nokia.com>
Tue, 29 Nov 2011 23:44:13 +0000 (09:44 +1000)
committerQt by Nokia <qt-info@nokia.com>
Wed, 30 Nov 2011 03:34:34 +0000 (04:34 +0100)
commit9321a19664ca7409f599b68e3784bbd5bd321a54
treea0f1a17154db66cb95611c1ea11f83f4b01c5a4c
parenta782a3e5d6c73aaa8de065452349a7b925c0faf9
Deleting an incubated object after setInitialState() crashes

Incubating objects are often parented in setInitialState(), which
can lead to the incubating object being deleted after object creation,
but before completion.  When incubator.clear() is called after
this point, it would attempt to delete the already deleted
object. This change guards the incubation object in the incubator.

Change-Id: I9585e93027250b8b6b3f1777b10ee1008ae7b818
Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
src/declarative/qml/qdeclarativeincubator_p.h
tests/auto/declarative/qdeclarativeincubator/tst_qdeclarativeincubator.cpp