diff options
author | Olivier Goffart <ogoffart@trolltech.com> | 2009-12-04 18:36:19 (GMT) |
---|---|---|
committer | Olivier Goffart <ogoffart@trolltech.com> | 2009-12-04 18:36:19 (GMT) |
commit | f0bb9bc5b0f4c20536d6c77624bd148389b78c06 (patch) | |
tree | 9088a173de4bfbeea29bc9464d4cb46257df67cd /tests/auto/qscriptengine | |
parent | 60be72310c0f9469b3201b250b257473184ccf2a (diff) | |
parent | 1bb5999cdca0a70df3f96d596c83c3cf7c97c5fd (diff) | |
download | Qt-f0bb9bc5b0f4c20536d6c77624bd148389b78c06.zip Qt-f0bb9bc5b0f4c20536d6c77624bd148389b78c06.tar.gz Qt-f0bb9bc5b0f4c20536d6c77624bd148389b78c06.tar.bz2 |
Merge commit 'origin/4.6' into 4.6
Diffstat (limited to 'tests/auto/qscriptengine')
-rw-r--r-- | tests/auto/qscriptengine/tst_qscriptengine.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/qscriptengine/tst_qscriptengine.cpp b/tests/auto/qscriptengine/tst_qscriptengine.cpp index 3bc2443..2d629b7 100644 --- a/tests/auto/qscriptengine/tst_qscriptengine.cpp +++ b/tests/auto/qscriptengine/tst_qscriptengine.cpp @@ -154,6 +154,7 @@ private slots: void functionScopes(); void nativeFunctionScopes(); void evaluateProgram(); + void collectGarbageAfterConnect(); void qRegExpInport_data(); void qRegExpInport(); @@ -4443,6 +4444,23 @@ void tst_QScriptEngine::evaluateProgram() } } +void tst_QScriptEngine::collectGarbageAfterConnect() +{ + // QTBUG-6366 + QScriptEngine engine; + QPointer<QWidget> widget = new QWidget; + engine.globalObject().setProperty( + "widget", engine.newQObject(widget, QScriptEngine::ScriptOwnership)); + QVERIFY(engine.evaluate("widget.customContextMenuRequested.connect(\n" + " function() { print('hello'); }\n" + ");") + .isUndefined()); + QVERIFY(widget != 0); + engine.evaluate("widget = null;"); + collectGarbage_helper(engine); + QVERIFY(widget == 0); +} + static QRegExp minimal(QRegExp r) { r.setMinimal(true); return r; } void tst_QScriptEngine::qRegExpInport_data() |