From 67d40ba7225dd38ba1e21ff6317920ce9fd5ee75 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Wed, 17 Jun 2009 15:42:01 +0200 Subject: make sure __FILE__ and __LINE__ properties are restored correctly Task-number: 256184 --- src/scripttools/debugging/qscriptdebuggerbackend.cpp | 10 ++++++---- tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp | 6 ++---- 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; -- cgit v0.12