aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/debugger/qqmlenginedebugservice.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@theqtcompany.com>2015-07-13 15:56:25 +0200
committerUlf Hermann <ulf.hermann@theqtcompany.com>2015-07-31 06:44:13 +0000
commitcc3a57861d5ef6e84cef0adfa1aaf726dd2b9d84 (patch)
treeef5c3983cda85022afd077fe05a2cb850aa0274b /src/qml/debugger/qqmlenginedebugservice.cpp
parent4d07a6254cac5742ffc23377b97c6eaf04aa4c49 (diff)
Use signal/slot for passing messages through QQmlDebugServer
This results in much cleaner code than the previous implementation using QMetaObject::invokeMethod(). We have to use read locks now for adding and removing engines, as we should have done already before. If a condition is waiting on a write lock you cannot acquire a read lock from another thread. So, if we kept the write locks we wouldn't be able to receive messages while the engines are waiting. Change-Id: Icfe641601dec2f8d7181ae579146ed603d57a4c2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/qml/debugger/qqmlenginedebugservice.cpp')
-rw-r--r--src/qml/debugger/qqmlenginedebugservice.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/qml/debugger/qqmlenginedebugservice.cpp b/src/qml/debugger/qqmlenginedebugservice.cpp
index ad8f4fb15a..1d481d9eda 100644
--- a/src/qml/debugger/qqmlenginedebugservice.cpp
+++ b/src/qml/debugger/qqmlenginedebugservice.cpp
@@ -626,7 +626,7 @@ void QQmlEngineDebugService::processMessage(const QByteArray &message)
rs << QByteArray("SET_METHOD_BODY_R") << queryId << ok;
}
- sendMessage(reply);
+ emit messageToClient(name(), reply);
}
bool QQmlEngineDebugService::setBinding(int objectId,
@@ -783,7 +783,7 @@ void QQmlEngineDebugService::propertyChanged(int id, int objectId, const QMetaPr
rs << QByteArray("UPDATE_WATCH") << id << objectId << QByteArray(property.name()) << valueContents(value);
- sendMessage(reply);
+ emit messageToClient(name(), reply);
}
void QQmlEngineDebugService::engineAboutToBeAdded(QQmlEngine *engine)
@@ -818,7 +818,7 @@ void QQmlEngineDebugService::objectCreated(QQmlEngine *engine, QObject *object)
//unique queryId -1
rs << QByteArray("OBJECT_CREATED") << -1 << engineId << objectId << parentId;
- sendMessage(reply);
+ emit messageToClient(name(), reply);
}
void QQmlEngineDebugService::setStatesDelegate(QQmlDebugStatesDelegate *delegate)