aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlecmascript/data/scriptConnect.dynamic.1.qml
blob: 4814ff33f4911c957cef813905821c9104d98313 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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.destroyDynamicObject(); }
        }
    }

    function destroyDynamicObject() {
        if (dynamicObjectProperty) {
            dynamicObjectProperty.destroy();
            dynamicObjectProperty = undefined;
            gc();
        }
    }

    Component.onCompleted: {
        dynamicObjectProperty = comp.createObject(root);
        root.outer.connect(dynamicObjectProperty.inner);
    }
}