qtdeclarative/tests/auto/qml/qqmlecmascript/data/scriptConnect.dynamic.2.qml

34 lines
801 B
QML

import Qt.test 1.0
import QtQuick 2.0
import "scriptConnect.6.js" as Script
Item {
id: root
property int test: 0
property var dynamicObjectProperty: undefined
signal outer
Component {
id: comp
Item {
signal inner
onInner: { Script.testFunction(); root.disconnectAndDestroyDynamicObject(); }
}
}
function disconnectAndDestroyDynamicObject() {
if (dynamicObjectProperty) {
root.outer.disconnect(dynamicObjectProperty.inner);
dynamicObjectProperty.destroy();
dynamicObjectProperty = undefined;
gc();
}
}
Component.onCompleted: {
dynamicObjectProperty = comp.createObject(root);
root.outer.connect(dynamicObjectProperty.inner);
}
}