diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index 9c1cd94588b..6e0ed670f51 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -247,6 +247,8 @@ public: virtual bool setupQmlStep(bool /*on*/) { return false; } virtual void readyToExecuteQmlStep() {} + virtual bool canDisplayTooltip() const { return state() == InferiorStopOk; } + signals: void stateChanged(const DebuggerState &state); void updateViewsRequested(); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index a83815a9b4f..1ca9530f2f5 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1928,7 +1928,7 @@ void DebuggerPluginPrivate::showToolTip(ITextEditor *editor, return; if (!currentEngine()) return; - if (currentEngine()->state() != InferiorStopOk) + if (!currentEngine()->canDisplayTooltip()) return; QTC_ASSERT(handled, return); *handled = true; diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index f4ba5b48183..509e9bd184e 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -263,6 +263,11 @@ void QmlEngine::pauseConnection() d->m_adapter.pauseConnection(); } +bool QmlEngine::canDisplayTooltip() const +{ + return state() == InferiorRunOk || state() == InferiorStopOk; +} + void QmlEngine::closeConnection() { ExtensionSystem::PluginManager *pluginManager = diff --git a/src/plugins/debugger/qml/qmlengine.h b/src/plugins/debugger/qml/qmlengine.h index 415d62faf21..4b5cd4832c8 100644 --- a/src/plugins/debugger/qml/qmlengine.h +++ b/src/plugins/debugger/qml/qmlengine.h @@ -60,6 +60,7 @@ public: void gotoLocation(const Location &location); void pauseConnection(); + bool canDisplayTooltip() const; public slots: void messageReceived(const QByteArray &message);