diff --git a/src/tools/qml/qmlobserver/jsdebuggeragent.cpp b/src/tools/qml/qmlobserver/jsdebuggeragent.cpp index 57f8eb97b667498dc845a4676cc379603943f45f..9b2f3295d3c59e8b51b6e1996b14dc0b161a7e0f 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;