From 2f42544780ad2a2b8d4948d360b9a1e39c3be654 Mon Sep 17 00:00:00 2001
From: Olivier Goffart <olivier.goffart@nokia.com>
Date: Thu, 22 Jul 2010 16:26:38 +0200
Subject: [PATCH] QML JS Debugger: Better support of QObject

---
 src/tools/qml/qmlobserver/jsdebuggeragent.cpp | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/tools/qml/qmlobserver/jsdebuggeragent.cpp b/src/tools/qml/qmlobserver/jsdebuggeragent.cpp
index 57f8eb97b66..9b2f3295d3c 100644
--- a/src/tools/qml/qmlobserver/jsdebuggeragent.cpp
+++ b/src/tools/qml/qmlobserver/jsdebuggeragent.cpp
@@ -92,16 +92,16 @@ struct JSAgentWatchData {
             data.type = QLatin1String("String");
         } else if (value.isVariant()) {
             data.type = QLatin1String("Variant");
+        } else if (value.isQObject()) {
+            const QObject *obj = value.toQObject();
+            data.value = QString::fromLatin1("[%1]").arg(obj->metaObject()->className());
+            data.type = QLatin1String("Object");
+            data.hasChildren = true;
         } else if (value.isObject()) {
             data.type = QLatin1String("Object");
             data.hasChildren = true;
+            data.type = QLatin1String("Object");
             data.value = QLatin1String("[Object]");
-/*        } else if (value.isQMetaObject()) {
-            data.setType(QLatin1String("QMetaObject"), false);
-            data.setValue(QString(QLatin1Char(' ')));
-        } else if (value.isQObject()) {
-            data.type = QLatin1String("QObject");
-            data.hasChildren = true;*/
         } else if (value.isNull()) {
             data.type = QLatin1String("<null>");
         } else {
@@ -123,6 +123,8 @@ static QList<JSAgentWatchData> expandObject(const QScriptValue &object)
     QScriptValueIterator it(object);
     while (it.hasNext()) {
         it.next();
+        if (it.flags() & QScriptValue::SkipInEnumeration)
+            continue;
         result << JSAgentWatchData::fromScriptValue(it.name(), it.value());
     }
     return result;
-- 
GitLab