aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative
diff options
context:
space:
mode:
authorChristiaan Janssen <christiaan.janssen@nokia.com>2011-07-19 18:07:46 +0200
committerQt by Nokia <qt-info@nokia.com>2011-07-21 12:10:54 +0200
commit8ba19b2c5ea9c6fa9d1397c98a0592aa4c5c446a (patch)
tree3d8f5356d8fde1c22574899366b87aaeebda22ff /src/declarative
parentc0fc795feb06a8e2f813690e47b2cb981c67546c (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.cpp12
-rw-r--r--src/declarative/qml/qdeclarativewatcher.cpp3
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);