diff options
Diffstat (limited to 'src/declarative')
-rw-r--r-- | src/declarative/debugger/qdeclarativeenginedebugservice.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/declarative/debugger/qdeclarativeenginedebugservice.cpp b/src/declarative/debugger/qdeclarativeenginedebugservice.cpp index cd500e1ad6..4943959c33 100644 --- a/src/declarative/debugger/qdeclarativeenginedebugservice.cpp +++ b/src/declarative/debugger/qdeclarativeenginedebugservice.cpp @@ -176,6 +176,9 @@ QVariant QDeclarativeEngineDebugService::valueContents(const QVariant &value) co { int userType = value.userType(); + //QObject * is not streamable. + //Convert all such instances to a String value + if (value.type() == QVariant::List) { QVariantList contents; QVariantList list = value.toList(); @@ -185,6 +188,16 @@ QVariant QDeclarativeEngineDebugService::valueContents(const QVariant &value) co return contents; } + if (value.type() == QVariant::Map) { + QVariantMap contents; + QMapIterator<QString, QVariant> i(value.toMap()); + while (i.hasNext()) { + i.next(); + contents.insert(i.key(), valueContents(i.value())); + } + return contents; + } + if (QDeclarativeValueTypeFactory::isValueType(userType)) return value; |