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)
|
bool append)
|
||||||
{
|
{
|
||||||
qCDebug(qmlInspectorLog) << '(' << obj << parentIname << ')';
|
qCDebug(qmlInspectorLog) << '(' << obj << parentIname << ')';
|
||||||
|
QTC_ASSERT(m_debuggerEngine, return);
|
||||||
|
|
||||||
int objDebugId = obj.debugId();
|
int objDebugId = obj.debugId();
|
||||||
QByteArray objIname = buildIName(parentIname, objDebugId);
|
QByteArray objIname = buildIName(parentIname, objDebugId);
|
||||||
@@ -831,7 +832,8 @@ bool QmlInspectorAgent::isConnected() const
|
|||||||
|
|
||||||
void QmlInspectorAgent::clearObjectTree()
|
void QmlInspectorAgent::clearObjectTree()
|
||||||
{
|
{
|
||||||
m_debuggerEngine->watchHandler()->removeAllData(true);
|
if (m_debuggerEngine)
|
||||||
|
m_debuggerEngine->watchHandler()->removeAllData(true);
|
||||||
m_objectTreeQueryIds.clear();
|
m_objectTreeQueryIds.clear();
|
||||||
m_fetchDataIds.clear();
|
m_fetchDataIds.clear();
|
||||||
int old_count = m_debugIdHash.count();
|
int old_count = m_debugIdHash.count();
|
||||||
|
@@ -32,6 +32,7 @@
|
|||||||
#define QMLINSPECTORAGENT_H
|
#define QMLINSPECTORAGENT_H
|
||||||
|
|
||||||
#include <QStack>
|
#include <QStack>
|
||||||
|
#include <QPointer>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
|
||||||
#include <qmldebug/baseenginedebugclient.h>
|
#include <qmldebug/baseenginedebugclient.h>
|
||||||
@@ -126,7 +127,7 @@ private:
|
|||||||
void clearObjectTree();
|
void clearObjectTree();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DebuggerEngine *m_debuggerEngine;
|
QPointer<DebuggerEngine> m_debuggerEngine;
|
||||||
QmlDebug::BaseEngineDebugClient *m_engineClient;
|
QmlDebug::BaseEngineDebugClient *m_engineClient;
|
||||||
|
|
||||||
quint32 m_engineQueryId;
|
quint32 m_engineQueryId;
|
||||||
|
Reference in New Issue
Block a user