diff options
author | Chris Adams <christopher.adams@nokia.com> | 2011-08-26 13:54:00 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-09-06 08:29:53 +0200 |
commit | 08e829e3a9dae0230678a8471275cebb4c8fb54e (patch) | |
tree | fdbbc6b718ef026cac7c929ca710277478a4739c /tests/auto/declarative/qdeclarativeecmascript/data/handleReferenceManagement.handle.1.qml | |
parent | 0c0f03e2b9756afb4e868a76734cc90102218f0a (diff) |
Add garbage collector prologue callback to qv8engine
This commit provides a generic way to manage persistent handles
created by QML so that circular references don't cause leaks, by
utilising v8's garbage collector callbacks.
Change-Id: Ia898197fdf5d86b90915b835ce3e532f7d400de4
Reviewed-on: http://codereview.qt.nokia.com/3688
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Diffstat (limited to 'tests/auto/declarative/qdeclarativeecmascript/data/handleReferenceManagement.handle.1.qml')
-rw-r--r-- | tests/auto/declarative/qdeclarativeecmascript/data/handleReferenceManagement.handle.1.qml | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/handleReferenceManagement.handle.1.qml b/tests/auto/declarative/qdeclarativeecmascript/data/handleReferenceManagement.handle.1.qml new file mode 100644 index 0000000000..9c27653b34 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeecmascript/data/handleReferenceManagement.handle.1.qml @@ -0,0 +1,25 @@ +import QtQuick 2.0 +import Qt.test 1.0 + +Item { + id: obj + objectName: "obj" + property CircularReferenceHandle first + property CircularReferenceHandle second + + CircularReferenceHandle { + id: crh + objectName: "crh" + } + + function createReference() { + first = crh.generate(crh); + second = crh.generate(crh); + // NOTE: manually add reference from first to second + // in unit test prior reparenting and gc. + } + + function performGc() { + gc(); + } +} |