From f136f7410a30b090646a58c1791e15adfa18de85 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Wed, 17 Jun 2009 13:17:16 +0200 Subject: fix the QScriptEngineDebugger::state() logic, add test, improve docs --- src/scripttools/debugging/qscriptenginedebugger.cpp | 7 +++++-- tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/scripttools/debugging/qscriptenginedebugger.cpp b/src/scripttools/debugging/qscriptenginedebugger.cpp index ae58c89..f2245cc 100644 --- a/src/scripttools/debugging/qscriptenginedebugger.cpp +++ b/src/scripttools/debugging/qscriptenginedebugger.cpp @@ -126,7 +126,7 @@ public: mode in which it accepts input from the user. The evaluationResumed() signal is emitted when script evaluation is resumed, i.e, when execution control is given back to the script - engine. + engine. The state() function returns the debugger's current state. When calling QScriptEngine::evaluate() it is useful to pass a descriptive script name (file name) as second argument, as this is @@ -228,6 +228,7 @@ public: /*! \enum QScriptEngineDebugger::DebuggerState + \since 4.6 This enum specifies the current state of the debugger. @@ -396,6 +397,8 @@ void QScriptEngineDebugger::detach() } /*! + \since 4.6 + Returns the current state of the debugger. \sa evaluationResumed() @@ -404,7 +407,7 @@ void QScriptEngineDebugger::detach() QScriptEngineDebugger::DebuggerState QScriptEngineDebugger::state() const { Q_D(const QScriptEngineDebugger); - return (d->debugger && d->debugger->isInteractive() ? SuspendedState : RunningState); + return !d->debugger || !d->debugger->isInteractive() ? SuspendedState : RunningState; } /*! diff --git a/tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp b/tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp index 5d9f56f..7f3f9f3 100644 --- a/tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp +++ b/tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp @@ -111,9 +111,11 @@ void tst_QScriptEngineDebugger::attachAndDetach() { { QScriptEngineDebugger debugger; + QCOMPARE(debugger.state(), QScriptEngineDebugger::SuspendedState); debugger.attachTo(0); QScriptEngine engine; debugger.attachTo(&engine); + QCOMPARE(debugger.state(), QScriptEngineDebugger::SuspendedState); } { QScriptEngineDebugger debugger; -- cgit v0.12