From c07f87e35062e39e9d4b3b978362dbf94dd36fbb Mon Sep 17 00:00:00 2001 From: Renato Araujo Oliveira Filho Date: Tue, 9 Oct 2012 15:44:25 -0300 Subject: Fixed crash during model destruction in QML. --- tests/client/loadmodel.qml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 tests/client/loadmodel.qml (limited to 'tests/client/loadmodel.qml') diff --git a/tests/client/loadmodel.qml b/tests/client/loadmodel.qml new file mode 100644 index 0000000..a91c18b --- /dev/null +++ b/tests/client/loadmodel.qml @@ -0,0 +1,38 @@ +import QtQuick 2.0 +import QMenuModel 0.1 + +Item { + id: root + width: 100 + height: 100 + + property bool reset: resetModel + + onResetChanged: { + if (reset) { + console.log("Remove page"); + view.model.destroy(); + //pop(); + } + } + + ListView { + id: view + anchors.fill: parent + delegate: Text { + text: label + } + onCountChanged: { + console.log("Row count: " + count); + } + } + + Component.onCompleted: { + var model = Qt.createQmlObject("import QMenuModel 0.1; QDBusMenuModel { id: menuModel; busType: globalBusType; busName: globalBusName; objectPath: globalObjectPath; }", view, ""); + model.start(); + console.log("New model: " + model) + console.log("New model2: " + model) + view.model = model; + } +} + -- cgit v1.2.3 From 5dd33f34a444cea648f17fe8aadd93b516948957 Mon Sep 17 00:00:00 2001 From: Renato Araujo Oliveira Filho Date: Wed, 10 Oct 2012 09:49:39 -0300 Subject: Clenup qml file, removed debug messages and unused code. --- tests/client/loadmodel.qml | 7 ------- 1 file changed, 7 deletions(-) (limited to 'tests/client/loadmodel.qml') diff --git a/tests/client/loadmodel.qml b/tests/client/loadmodel.qml index a91c18b..2eeb8e6 100644 --- a/tests/client/loadmodel.qml +++ b/tests/client/loadmodel.qml @@ -10,9 +10,7 @@ Item { onResetChanged: { if (reset) { - console.log("Remove page"); view.model.destroy(); - //pop(); } } @@ -22,16 +20,11 @@ Item { delegate: Text { text: label } - onCountChanged: { - console.log("Row count: " + count); - } } Component.onCompleted: { var model = Qt.createQmlObject("import QMenuModel 0.1; QDBusMenuModel { id: menuModel; busType: globalBusType; busName: globalBusName; objectPath: globalObjectPath; }", view, ""); model.start(); - console.log("New model: " + model) - console.log("New model2: " + model) view.model = model; } } -- cgit v1.2.3 From f430d60b0a1a458985d41cb964b1a6e569c2e63e Mon Sep 17 00:00:00 2001 From: Renato Araujo Oliveira Filho Date: Thu, 11 Oct 2012 09:15:32 -0300 Subject: Added comments on qml file used in tests. --- tests/client/loadmodel.qml | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests/client/loadmodel.qml') diff --git a/tests/client/loadmodel.qml b/tests/client/loadmodel.qml index 2eeb8e6..7a1f045 100644 --- a/tests/client/loadmodel.qml +++ b/tests/client/loadmodel.qml @@ -10,6 +10,7 @@ Item { onResetChanged: { if (reset) { + // destroy the current model and check if it will not crash the QML engine view.model.destroy(); } } @@ -23,6 +24,7 @@ Item { } Component.onCompleted: { + // dynamically create the model to destroy it later var model = Qt.createQmlObject("import QMenuModel 0.1; QDBusMenuModel { id: menuModel; busType: globalBusType; busName: globalBusName; objectPath: globalObjectPath; }", view, ""); model.start(); view.model = model; -- cgit v1.2.3