Use signal/slot for passing messages through QQmlDebugServer
authorUlf Hermann <ulf.hermann@theqtcompany.com>
Mon, 13 Jul 2015 13:56:25 +0000 (15:56 +0200)
committerUlf Hermann <ulf.hermann@theqtcompany.com>
Fri, 31 Jul 2015 06:44:13 +0000 (06:44 +0000)
commitcc3a57861d5ef6e84cef0adfa1aaf726dd2b9d84
treeef5c3983cda85022afd077fe05a2cb850aa0274b
parent4d07a6254cac5742ffc23377b97c6eaf04aa4c49
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>
15 files changed:
src/plugins/qmltooling/shared/abstractviewinspector.cpp
src/qml/debugger/qdebugmessageservice.cpp
src/qml/debugger/qqmldebugconnector_p.h
src/qml/debugger/qqmldebugserver.cpp
src/qml/debugger/qqmldebugservice.cpp
src/qml/debugger/qqmldebugservice_p.h
src/qml/debugger/qqmlenginecontrolservice.cpp
src/qml/debugger/qqmlenginedebugservice.cpp
src/qml/debugger/qqmlinspectorservice.cpp
src/qml/debugger/qqmlinspectorservice_p.h
src/qml/debugger/qqmlprofilerservice.cpp
src/qml/debugger/qv4debugservice.cpp
tests/auto/qml/debugger/qqmldebugservice/tst_qqmldebugservice.cpp
tests/auto/qml/debugger/shared/qqmldebugtestservice.cpp
tests/auto/qml/debugger/shared/qqmldebugtestservice.h