diff --git a/src/plugins/qmljsinspector/qmljsinspector.cpp b/src/plugins/qmljsinspector/qmljsinspector.cpp index 6c25985f643e16e40aba4234ea6ae3083dfc876c..47a4783bd85dab80b4f7d9fb66b4779f5e6fa2f2 100644 --- a/src/plugins/qmljsinspector/qmljsinspector.cpp +++ b/src/plugins/qmljsinspector/qmljsinspector.cpp @@ -261,6 +261,11 @@ void InspectorUi::debugQueryUpdated(QDeclarativeDebugQuery::State newState) disconnect(m_debugQuery,SIGNAL(stateChanged(QDeclarativeDebugQuery::State)),this,SLOT(debugQueryUpdated(QDeclarativeDebugQuery::State))); } +bool InspectorUi::isConnected() const +{ + return m_clientProxy; +} + void InspectorUi::connected(ClientProxy *clientProxy) { m_clientProxy = clientProxy; diff --git a/src/plugins/qmljsinspector/qmljsinspector.h b/src/plugins/qmljsinspector/qmljsinspector.h index ae56e4eca1a8fd167217a2a6b853b538f16e095c..ebcd795ddbbd3d8ee2b3f08c9d307ca8c9ac8542 100644 --- a/src/plugins/qmljsinspector/qmljsinspector.h +++ b/src/plugins/qmljsinspector/qmljsinspector.h @@ -103,6 +103,7 @@ public: bool isShadowBuildProject() const; void setupUi(); + bool isConnected() const; void connected(ClientProxy *clientProxy); void disconnected(); void setDebuggerEngine(Debugger::QmlEngine *qmlEngine); diff --git a/src/plugins/qmljsinspector/qmljsinspectorplugin.cpp b/src/plugins/qmljsinspector/qmljsinspectorplugin.cpp index a89f00d0baaeec606350b633fd4eb95173ff2a1f..ff787e020b4822072d6b56347ed0c912bbc75863 100644 --- a/src/plugins/qmljsinspector/qmljsinspectorplugin.cpp +++ b/src/plugins/qmljsinspector/qmljsinspectorplugin.cpp @@ -140,7 +140,8 @@ void InspectorPlugin::objectAdded(QObject *object) void InspectorPlugin::aboutToRemoveObject(QObject *obj) { if (m_clientProxy && m_clientProxy->qmlAdapter() == obj) { - m_inspectorUi->disconnected(); + if (m_inspectorUi->isConnected()) + m_inspectorUi->disconnected(); delete m_clientProxy; m_clientProxy = 0; }