forked from qt-creator/qt-creator
QmlInspector: Fix crash on engine ramp down
Task-number: QTCREATORBUG-14972 Change-Id: Ia2a508fab872ac4496c2cb3fa932186e8e29278d Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com> Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
@@ -738,6 +738,7 @@ void QmlInspectorAgent::addWatchData(const ObjectReference &obj,
|
||||
bool append)
|
||||
{
|
||||
qCDebug(qmlInspectorLog) << '(' << obj << parentIname << ')';
|
||||
QTC_ASSERT(m_debuggerEngine, return);
|
||||
|
||||
int objDebugId = obj.debugId();
|
||||
QByteArray objIname = buildIName(parentIname, objDebugId);
|
||||
@@ -831,6 +832,7 @@ bool QmlInspectorAgent::isConnected() const
|
||||
|
||||
void QmlInspectorAgent::clearObjectTree()
|
||||
{
|
||||
if (m_debuggerEngine)
|
||||
m_debuggerEngine->watchHandler()->removeAllData(true);
|
||||
m_objectTreeQueryIds.clear();
|
||||
m_fetchDataIds.clear();
|
||||
|
@@ -32,6 +32,7 @@
|
||||
#define QMLINSPECTORAGENT_H
|
||||
|
||||
#include <QStack>
|
||||
#include <QPointer>
|
||||
#include <QTimer>
|
||||
|
||||
#include <qmldebug/baseenginedebugclient.h>
|
||||
@@ -126,7 +127,7 @@ private:
|
||||
void clearObjectTree();
|
||||
|
||||
private:
|
||||
DebuggerEngine *m_debuggerEngine;
|
||||
QPointer<DebuggerEngine> m_debuggerEngine;
|
||||
QmlDebug::BaseEngineDebugClient *m_engineClient;
|
||||
|
||||
quint32 m_engineQueryId;
|
||||
|
Reference in New Issue
Block a user