From 2a3fc36b080e135e630b67a070ec540e94b331b7 Mon Sep 17 00:00:00 2001 From: Simjees Abraham Date: Fri, 25 May 2012 09:18:53 +0200 Subject: Debugger: Modified response for "destroyObject" message. The response for "destroyObject" carries the debugId of the destroyed object. Change-Id: I9be56f8db42ff2e83544ebbd058a6a8d48b4c98f Reviewed-by: Aurindam Jana --- src/plugins/qmltooling/shared/abstractviewinspector.cpp | 11 ++++++----- src/plugins/qmltooling/shared/abstractviewinspector.h | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'src/plugins') diff --git a/src/plugins/qmltooling/shared/abstractviewinspector.cpp b/src/plugins/qmltooling/shared/abstractviewinspector.cpp index c3eb24e659..d4c41b5084 100644 --- a/src/plugins/qmltooling/shared/abstractviewinspector.cpp +++ b/src/plugins/qmltooling/shared/abstractviewinspector.cpp @@ -60,14 +60,14 @@ // "showAppOnTop", "createObject", "destroyObject", "moveObject", // "clearCache"} // : select: -// reload: -// +// reload: > // setAnimationSpeed: // showAppOnTop: // createObject: // destroyObject: // moveObject: // clearCache: void +// Response for "destroyObject" carries the of the destroyed object. const char REQUEST[] = "request"; const char RESPONSE[] = "response"; @@ -274,13 +274,13 @@ void AbstractViewInspector::onQmlObjectDestroyed(QObject *object) if (!m_hashObjectsTobeDestroyed.contains(object)) return; - int removeId = m_hashObjectsTobeDestroyed.take(object); + QPair ids = m_hashObjectsTobeDestroyed.take(object); QQmlDebugService::removeInvalidObjectsFromHash(); QByteArray response; QQmlDebugStream rs(&response, QIODevice::WriteOnly); - rs << QByteArray(RESPONSE) << removeId << true; + rs << QByteArray(RESPONSE) << ids.first << true << ids.second; m_debugService->sendMessage(response); } @@ -346,7 +346,8 @@ void AbstractViewInspector::handleMessage(const QByteArray &message) int debugId; ds >> debugId; if (QObject *obj = QQmlDebugService::objectForId(debugId)) { - m_hashObjectsTobeDestroyed.insert(obj, requestId); + QPair ids(requestId, debugId); + m_hashObjectsTobeDestroyed.insert(obj, ids); connect(obj, SIGNAL(destroyed(QObject*)), SLOT(onQmlObjectDestroyed(QObject*))); obj->deleteLater(); } diff --git a/src/plugins/qmltooling/shared/abstractviewinspector.h b/src/plugins/qmltooling/shared/abstractviewinspector.h index ad42ba7a83..8eeb640e4e 100644 --- a/src/plugins/qmltooling/shared/abstractviewinspector.h +++ b/src/plugins/qmltooling/shared/abstractviewinspector.h @@ -126,8 +126,8 @@ private: QList m_tools; int m_eventId; int m_reloadEventId; - // Hash< object to be destroyed, destroy eventId > - QHash m_hashObjectsTobeDestroyed; + // Hash< object to be destroyed, QPair > + QHash > m_hashObjectsTobeDestroyed; }; } // namespace QmlJSDebugger -- cgit v1.2.3