From 200b18d44a930fed1e3ee52bb34435cbe63c757e Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Mon, 28 Jun 2010 09:10:20 +0200 Subject: [PATCH] debugger: don't load registers if view is not shown --- src/plugins/debugger/debuggerengine.cpp | 4 ++++ src/plugins/debugger/debuggerplugin.cpp | 5 +++++ src/plugins/debugger/debuggerplugin.h | 2 ++ src/plugins/debugger/gdb/gdbengine.cpp | 3 +++ 4 files changed, 14 insertions(+) diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 04fd03a42c2..8e286a8ac62 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -359,6 +359,10 @@ void DebuggerEngine::handleCommand(int role, const QVariant &value) reloadModules(); break; + case RequestReloadRegistersRole: + reloadRegisters(); + break; + case RequestExecContinueRole: continueInferior(); break; diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index f5fc8ce96f6..b527bbbcd82 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -2548,6 +2548,11 @@ DebuggerEngine *DebuggerPlugin::sessionTemplate() return d->m_sessionEngine; } +bool DebuggerPlugin::isRegisterViewVisible() const +{ + return d->m_registerDock->toggleViewAction()->isChecked(); +} + ////////////////////////////////////////////////////////////////////// // // Testing diff --git a/src/plugins/debugger/debuggerplugin.h b/src/plugins/debugger/debuggerplugin.h index 552f5184b0a..d3fadff4c6c 100644 --- a/src/plugins/debugger/debuggerplugin.h +++ b/src/plugins/debugger/debuggerplugin.h @@ -103,6 +103,8 @@ public: Internal::DebuggerEngine *sessionTemplate(); void updateState(Internal::DebuggerEngine *engine); + bool isRegisterViewVisible() const; + public slots: void exitDebugger(); // FIXME: remove void clearCppCodeModelSnapshot(); diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 5605cb8088f..eac740c0d89 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -3079,6 +3079,9 @@ void GdbEngine::activateSnapshot2() void GdbEngine::reloadRegisters() { + if (!plugin()->isRegisterViewVisible()) + return; + if (state() != InferiorStopped && state() != InferiorUnrunnable) return; if (!m_registerNamesListed) { -- GitLab