From ab388457e65f60b6b51bbd33c6e86828fb7bdd14 Mon Sep 17 00:00:00 2001
From: hjk <hjk121@nokiamail.com>
Date: Fri, 8 Nov 2013 16:11:01 +0100
Subject: [PATCH] Debugger: Restrict LLDB register reporting by view visibility

Change-Id: Iaf92f565f9b33f5739bb3e0a19920f160c0b44f7
Reviewed-by: hjk <hjk121@nokiamail.com>
---
 share/qtcreator/debugger/lldbbridge.py   | 1 -
 src/plugins/debugger/lldb/lldbengine.cpp | 6 +++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py
index 364dfe3c34e..78af716ae48 100644
--- a/share/qtcreator/debugger/lldbbridge.py
+++ b/share/qtcreator/debugger/lldbbridge.py
@@ -997,7 +997,6 @@ class Dumper(DumperBase):
         self.report('')
 
     def reportData(self, _ = None):
-        self.reportRegisters()
         if self.process is None:
             self.report('process="none"')
         else:
diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp
index 813d84c5e78..1ca0ddfd6e3 100644
--- a/src/plugins/debugger/lldb/lldbengine.cpp
+++ b/src/plugins/debugger/lldb/lldbengine.cpp
@@ -33,6 +33,7 @@
 #include <debugger/debuggercore.h>
 #include <debugger/debuggerdialogs.h>
 #include <debugger/debuggerinternalconstants.h>
+#include <debugger/debuggermainwindow.h>
 #include <debugger/debuggerplugin.h>
 #include <debugger/debuggerprotocol.h>
 #include <debugger/debuggerstartparameters.h>
@@ -818,6 +819,8 @@ void LldbEngine::doUpdateLocals(UpdateParameters params)
     //cmd.arg("resultvarname", m_resultVarName);
 
     runCommand(cmd);
+
+    reloadRegisters();
 }
 
 void LldbEngine::handleLldbError(QProcess::ProcessError error)
@@ -1050,7 +1053,8 @@ void LldbEngine::refreshLocation(const GdbMi &reportedLocation)
 
 void LldbEngine::reloadRegisters()
 {
-    runCommand("reportRegisters");
+    if (debuggerCore()->isDockVisible(QLatin1String(DOCKWIDGET_REGISTER)))
+        runCommand("reportRegisters");
 }
 
 void LldbEngine::fetchDisassembler(DisassemblerAgent *agent)
-- 
GitLab