diff options
author | Christiaan Janssen <christiaan.janssen@nokia.com> | 2011-07-19 18:07:46 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-07-21 12:10:54 +0200 |
commit | 8ba19b2c5ea9c6fa9d1397c98a0592aa4c5c446a (patch) | |
tree | 3d8f5356d8fde1c22574899366b87aaeebda22ff /src/declarative | |
parent | c0fc795feb06a8e2f813690e47b2cb981c67546c (diff) |
Qml Debugging: only read properties that can be displayed in the debugger
Change-Id: I68a6636aae271924bcec31ce7ad76c01fc43080b
Task-number: QTCREATORBUG-5075
Reviewed-on: http://codereview.qt.nokia.com/1893
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Diffstat (limited to 'src/declarative')
-rw-r--r-- | src/declarative/qml/qdeclarativeenginedebug.cpp | 12 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativewatcher.cpp | 3 |
2 files changed, 8 insertions, 7 deletions
diff --git a/src/declarative/qml/qdeclarativeenginedebug.cpp b/src/declarative/qml/qdeclarativeenginedebug.cpp index af99f05e95..6c605cbc2b 100644 --- a/src/declarative/qml/qdeclarativeenginedebug.cpp +++ b/src/declarative/qml/qdeclarativeenginedebug.cpp @@ -147,12 +147,6 @@ QDeclarativeEngineDebugServer::propertyData(QObject *obj, int propIdx) if (binding) rv.binding = binding->expression(); - QVariant value; - if (prop.userType() != 0) { - value = prop.read(obj); - } - rv.value = valueContents(value); - if (QDeclarativeValueTypeFactory::isValueType(prop.userType())) { rv.type = QDeclarativeObjectProperty::Basic; } else if (QDeclarativeMetaType::isQObject(prop.userType())) { @@ -161,6 +155,12 @@ QDeclarativeEngineDebugServer::propertyData(QObject *obj, int propIdx) rv.type = QDeclarativeObjectProperty::List; } + QVariant value; + if (rv.type != QDeclarativeObjectProperty::Unknown && prop.userType() != 0) { + value = prop.read(obj); + } + rv.value = valueContents(value); + return rv; } diff --git a/src/declarative/qml/qdeclarativewatcher.cpp b/src/declarative/qml/qdeclarativewatcher.cpp index c174998b43..33f0358003 100644 --- a/src/declarative/qml/qdeclarativewatcher.cpp +++ b/src/declarative/qml/qdeclarativewatcher.cpp @@ -47,6 +47,7 @@ #include <qdeclarativedebugservice_p.h> #include "private/qdeclarativeproperty_p.h" +#include "private/qdeclarativevaluetype_p.h" #include <QtCore/qmetaobject.h> #include <QtCore/qdebug.h> @@ -112,7 +113,7 @@ void QDeclarativeWatchProxy::notifyValueChanged() QVariant v; if (m_expr) v = m_expr->evaluate(); - else + else if (QDeclarativeValueTypeFactory::isValueType(m_property.userType())) v = m_property.read(m_object); emit m_watch->propertyChanged(m_id, m_debugId, m_property, v); |