aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qjsengine
diff options
context:
space:
mode:
authorThomas McGuire <thomas.mcguire.qnx@kdab.com>2012-08-13 15:48:44 +0200
committerQt by Nokia <qt-info@nokia.com>2012-08-24 11:30:49 +0200
commitf1422adb3e71fd9c32b65fa0b9d3f076ed0ccfbb (patch)
tree6d29e100fc6896defbf4836fff20c0d386dff8be /tests/auto/qml/qjsengine
parent8f893d1d675b09d0a5f2add1df7a9970bb3cb227 (diff)
Don't put JavaScript-owned objects on the stack.
Only the fact that the object wrapper uses deleteLater() instead of delete made this not crash. Change-Id: I034d8c7f24b963be9e031446ffdfa33e6bc266cc Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com> Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Diffstat (limited to 'tests/auto/qml/qjsengine')
-rw-r--r--tests/auto/qml/qjsengine/tst_qjsengine.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp
index 98db3b1c3b..3faa0f5f3e 100644
--- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp
+++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp
@@ -2482,7 +2482,9 @@ void tst_QJSEngine::reentrancy_Array()
void tst_QJSEngine::reentrancy_objectCreation()
{
- QObject temp;
+ // Owned by JS engine, as newQObject() sets JS ownership explicitly
+ QObject *temp = new QObject();
+
QJSEngine eng1;
QJSEngine eng2;
{
@@ -2499,8 +2501,8 @@ void tst_QJSEngine::reentrancy_objectCreation()
QCOMPARE(qjsvalue_cast<QRegExp>(r2), qjsvalue_cast<QRegExp>(r1));
}
{
- QJSValue o1 = eng1.newQObject(&temp);
- QJSValue o2 = eng2.newQObject(&temp);
+ QJSValue o1 = eng1.newQObject(temp);
+ QJSValue o2 = eng2.newQObject(temp);
QCOMPARE(o1.toQObject(), o2.toQObject());
QCOMPARE(o2.toQObject(), o1.toQObject());
}