From 7ce044031c972e2776f06c749375410d37108e9d Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Wed, 2 Sep 2009 13:19:47 +0200
Subject: [PATCH] debugger: fix basic script debugging

Locals view was broken, also unknown entries should not have children.
---
 src/plugins/debugger/script/scriptengine.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/plugins/debugger/script/scriptengine.cpp b/src/plugins/debugger/script/scriptengine.cpp
index 0765fa3afa9..3f31ca421b0 100644
--- a/src/plugins/debugger/script/scriptengine.cpp
+++ b/src/plugins/debugger/script/scriptengine.cpp
@@ -608,10 +608,13 @@ void ScriptEngine::updateLocals()
     data.iname = "local";
     data.name = "local";
     data.scriptValue = context->activationObject();
-    qq->watchHandler()->insertData(data);
+    qq->watchHandler()->beginCycle();
+    updateSubItem(data);
+    qq->watchHandler()->endCycle();
 
     // FIXME: Use an extra thread. This here is evil
     m_stopped = true;
+    q->showStatusMessage(tr("Stopped."), 5000);
     while (m_stopped) {
         //SDEBUG("LOOPING");
         QApplication::processEvents();
@@ -623,7 +626,6 @@ void ScriptEngine::updateWatchData(const WatchData &data)
 {
     updateSubItem(data);
     //qq->watchHandler()->rebuildModel();
-    q->showStatusMessage(tr("Stopped."), 5000);
 }
 
 void ScriptEngine::updateSubItem(const WatchData &data0)
@@ -679,9 +681,11 @@ void ScriptEngine::updateSubItem(const WatchData &data0)
         } else if (ob.isUndefined()) {
             data.setType("<undefined>");
             data.setValue("<unknown>");
+            data.setHasChildren(false);
         } else {
             data.setType("<unknown>");
             data.setValue("<unknown>");
+            data.setHasChildren(false);
         }
         qq->watchHandler()->insertData(data);
         return;
-- 
GitLab