summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKent Hansen <khansen@trolltech.com>2009-06-17 13:42:01 (GMT)
committerKent Hansen <khansen@trolltech.com>2009-06-17 13:44:46 (GMT)
commit67d40ba7225dd38ba1e21ff6317920ce9fd5ee75 (patch)
treefb2ea0bf0bde6fb2bba9c0941b3bb5d92c7cb0a9
parent5af2e06cb543bd27450c29a1fca8686413f1cceb (diff)
downloadQt-67d40ba7225dd38ba1e21ff6317920ce9fd5ee75.zip
Qt-67d40ba7225dd38ba1e21ff6317920ce9fd5ee75.tar.gz
Qt-67d40ba7225dd38ba1e21ff6317920ce9fd5ee75.tar.bz2
make sure __FILE__ and __LINE__ properties are restored correctly
Task-number: 256184
-rw-r--r--src/scripttools/debugging/qscriptdebuggerbackend.cpp10
-rw-r--r--tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp6
2 files changed, 8 insertions, 8 deletions
diff --git a/src/scripttools/debugging/qscriptdebuggerbackend.cpp b/src/scripttools/debugging/qscriptdebuggerbackend.cpp
index c7577d6..7f4211c 100644
--- a/src/scripttools/debugging/qscriptdebuggerbackend.cpp
+++ b/src/scripttools/debugging/qscriptdebuggerbackend.cpp
@@ -417,12 +417,10 @@ void QScriptDebuggerBackend::attachTo(QScriptEngine *engine)
// global.setProperty(QString::fromLatin1("qAssert"), assertFunction());
d->origFileNameFunction = global.property(QString::fromLatin1("__FILE__"));
global.setProperty(QString::fromLatin1("__FILE__"), fileNameFunction(),
- QScriptValue::PropertyGetter | QScriptValue::PropertySetter
- | QScriptValue::ReadOnly);
+ QScriptValue::PropertyGetter | QScriptValue::ReadOnly);
d->origLineNumberFunction = global.property(QString::fromLatin1("__LINE__"));
global.setProperty(QString::fromLatin1("__LINE__"), lineNumberFunction(),
- QScriptValue::PropertyGetter | QScriptValue::PropertySetter
- | QScriptValue::ReadOnly);
+ QScriptValue::PropertyGetter | QScriptValue::ReadOnly);
engine->setAgent(d->agent);
}
@@ -444,8 +442,12 @@ void QScriptDebuggerBackend::detach()
global.setProperty(QString::fromLatin1("print"), d->origTraceFunction);
d->origTraceFunction = QScriptValue();
// global.setProperty(QString::fromLatin1("qAssert"), QScriptValue());
+ global.setProperty(QString::fromLatin1("__FILE__"), QScriptValue(),
+ QScriptValue::PropertyGetter);
global.setProperty(QString::fromLatin1("__FILE__"), d->origFileNameFunction);
d->origFileNameFunction = QScriptValue();
+ global.setProperty(QString::fromLatin1("__LINE__"), QScriptValue(),
+ QScriptValue::PropertyGetter);
global.setProperty(QString::fromLatin1("__LINE__"), d->origLineNumberFunction);
d->origLineNumberFunction = QScriptValue();
d->agent->nullifyBackendPointer();
diff --git a/tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp b/tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp
index 5e5b701..cbdaf1e 100644
--- a/tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp
+++ b/tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp
@@ -131,11 +131,9 @@ void tst_QScriptEngineDebugger::attachAndDetach()
QVERIFY(!engine.globalObject().property("print").strictlyEquals(oldPrint));
debugger.detach();
- QEXPECT_FAIL("", "Task 256184", Continue);
- QVERIFY(!engine.globalObject().property("print").isValid());
- QEXPECT_FAIL("", "Task 256184", Continue);
+ QVERIFY(engine.globalObject().property("print").strictlyEquals(oldPrint));
QVERIFY(!engine.globalObject().property("__FILE__").isValid());
-// QVERIFY(!engine.globalObject().property("__LINE__").isValid());
+ QVERIFY(!engine.globalObject().property("__LINE__").isValid());
}
{
QScriptEngineDebugger debugger;