summaryrefslogtreecommitdiffstats
path: root/WebCore/bindings/js/ScriptDebugServer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/bindings/js/ScriptDebugServer.cpp')
-rw-r--r--WebCore/bindings/js/ScriptDebugServer.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/WebCore/bindings/js/ScriptDebugServer.cpp b/WebCore/bindings/js/ScriptDebugServer.cpp
index d71034b..cd80de4 100644
--- a/WebCore/bindings/js/ScriptDebugServer.cpp
+++ b/WebCore/bindings/js/ScriptDebugServer.cpp
@@ -268,7 +268,7 @@ void ScriptDebugServer::dispatchDidContinue(ScriptDebugListener* listener)
void ScriptDebugServer::dispatchDidParseSource(const ListenerSet& listeners, const JSC::SourceCode& source, ScriptWorldType worldType)
{
- String sourceID = ustringToString(JSC::UString::from(source.provider()->asID()));
+ String sourceID = ustringToString(JSC::UString::number(source.provider()->asID()));
String url = ustringToString(source.provider()->url());
String data = ustringToString(JSC::UString(source.data(), source.length()));
int firstLine = source.firstLine();
@@ -497,6 +497,10 @@ void ScriptDebugServer::returnEvent(const DebuggerCallFrame& debuggerCallFrame,
m_currentCallFrame->update(debuggerCallFrame, sourceID, lineNumber);
pauseIfNeeded(toPage(debuggerCallFrame.dynamicGlobalObject()));
+ // detach may have been called during pauseIfNeeded
+ if (!m_currentCallFrame)
+ return;
+
// Treat stepping over a return statement like stepping out.
if (m_currentCallFrame == m_pauseOnCallFrame)
m_pauseOnCallFrame = m_currentCallFrame->caller();