File: PropertyVarCircularComponent4.qml

package info (click to toggle)
qtdeclarative-opensource-src 5.15.8%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 259,256 kB
  • sloc: javascript: 512,396; cpp: 495,775; xml: 8,892; python: 3,304; ansic: 2,764; sh: 206; makefile: 62; php: 27
file content (28 lines) | stat: -rw-r--r-- 876 bytes parent folder | download | duplicates (13)
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
import QtQuick 2.0

Rectangle {
    id: rectangle      // will have JS ownership
    objectName: "rectangle"
    width: 10
    height: 10
    property var rectCanary: 5

    Text {
        id: text // will have Eventual-JS ownership
        objectName: "text"
        property var vp
        property var textCanary: 10

        // The varProperties array of "text" is weak
        // (due to eventual JS ownership since parent is JS owned)
        // but nonetheless, the reference to the created QObject
        // should cause that QObject to NOT be collected.
        function constructQObject() {
            var component = Qt.createComponent("PropertyVarCircularComponent5.qml");
            if (component.status == Component.Ready) {
                text.vp = component.createObject(null); // has JavaScript ownership
            }
            gc();
        }
    }
}