diff options
Diffstat (limited to 'tests/auto/qml/qqmlecmascript/data/scriptConnect.deletion.qml')
-rw-r--r-- | tests/auto/qml/qqmlecmascript/data/scriptConnect.deletion.qml | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlecmascript/data/scriptConnect.deletion.qml b/tests/auto/qml/qqmlecmascript/data/scriptConnect.deletion.qml new file mode 100644 index 0000000000..efbbc9fedc --- /dev/null +++ b/tests/auto/qml/qqmlecmascript/data/scriptConnect.deletion.qml @@ -0,0 +1,36 @@ +import Qt.test +import QtQml + +QtObject { + id: root + + property int a: 0 + property int b: 0 + + signal someSignal + + function destroyObj() { + obj.destroy() + } + + function test() { + ++a + } + + component DestructionReceiver: QtObject { + // Has its own context and therefore can receive Component.onDestruction + } + + property QtObject obj: QtObject { + property QtObject inner: DestructionReceiver { + Component.onDestruction: { + // The outer obj is already queued for deletion. + // We don't want to see this signal delivered. + root.someSignal(); + ++root.b + } + } + } + + Component.onCompleted: someSignal.connect(obj, test) +} |