summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWarwick Allison <warwick.allison@nokia.com>2009-09-14 04:09:39 (GMT)
committerWarwick Allison <warwick.allison@nokia.com>2009-09-14 04:09:39 (GMT)
commit9fa3695eb3b03a4d37bc3c75bdb3bf5c5205e48c (patch)
treebe8ee987967b64f25c395d996fad75559eaeb590
parent3b9aed8d7ea23a435211264c1bec731a98678ea5 (diff)
downloadQt-9fa3695eb3b03a4d37bc3c75bdb3bf5c5205e48c.zip
Qt-9fa3695eb3b03a4d37bc3c75bdb3bf5c5205e48c.tar.gz
Qt-9fa3695eb3b03a4d37bc3c75bdb3bf5c5205e48c.tar.bz2
Don't crash.
The engine tree shouldn't have all these objects in it, but for now, just prevent crash when there are signals with parameters.
-rw-r--r--src/declarative/qml/qmlenginedebug.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/declarative/qml/qmlenginedebug.cpp b/src/declarative/qml/qmlenginedebug.cpp
index 321fe74..7f9e530 100644
--- a/src/declarative/qml/qmlenginedebug.cpp
+++ b/src/declarative/qml/qmlenginedebug.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qmlenginedebug_p.h"
+#include "qmlboundsignal_p.h"
#include <QtCore/qdebug.h>
#include <QtCore/qmetaobject.h>
#include <QtDeclarative/qmlengine.h>
@@ -103,7 +104,11 @@ QmlEngineDebugServer::propertyData(QObject *obj, int propIdx)
if (prop.type() < QVariant::UserType) {
rv.type = QmlObjectProperty::Basic;
- rv.value = prop.read(obj);
+ if (qobject_cast<QmlBoundSignalParameters*>(obj) && prop.name() != QByteArray("objectName"))
+ // these "properties" only have meaning during signal emission
+ rv.value = tr("(signal parameter)");
+ else
+ rv.value = prop.read(obj);
} else if (QmlMetaType::isObject(prop.userType())) {
rv.type = QmlObjectProperty::Object;
} else if (QmlMetaType::isList(prop.userType()) ||