From e5abb34db313a59e5e3d213a02bac9d23bd9090f Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Wed, 6 Jan 2010 12:52:41 +0100
Subject: [PATCH] debugger: fix watchers containing '$' (references to
 registers)

---
 share/qtcreator/gdbmacros/dumper.py    | 6 +++---
 src/plugins/debugger/gdb/gdbengine.cpp | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/share/qtcreator/gdbmacros/dumper.py b/share/qtcreator/gdbmacros/dumper.py
index f55f49086e4..9c97e8b59fd 100644
--- a/share/qtcreator/gdbmacros/dumper.py
+++ b/share/qtcreator/gdbmacros/dumper.py
@@ -401,8 +401,8 @@ class FrameCommand(gdb.Command):
         if len(args) > 2:
             watchers = base64.b16decode(args[2], True)
         if len(watchers) > 0:
-            for watcher in watchers.split("$$"):
-                (exp, name) = watcher.split("$")
+            for watcher in watchers.split("##"):
+                (exp, name) = watcher.split("#")
                 self.handleWatch(d, exp, name)
         d.pushOutput()
         watchers = d.safeoutput
@@ -465,7 +465,7 @@ class FrameCommand(gdb.Command):
         else:
             try:
                 value = parseAndEvaluate(exp)
-                item = Item(value, "watch", None, None)
+                item = Item(value, "watch.%s" % name, None, None)
                 d.putItemHelper(item)
             except RuntimeError:
                 d.put(',value="<invalid>",')
diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 205f143b676..3a7b8e6e5a7 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -3626,11 +3626,11 @@ void GdbEngine::updateLocals(const QVariant &cookie)
         while (it.hasNext()) {
             it.next();
             if (!watchers.isEmpty())
-                watchers += "$$";
+                watchers += "##";
             if (it.key() == WatchHandler::watcherEditPlaceHolder().toLatin1())
-                watchers += "<Edit>$" + QByteArray::number(it.value());
+                watchers += "<Edit>#" + QByteArray::number(it.value());
             else
-                watchers += it.key() + '$' + QByteArray::number(it.value());
+                watchers += it.key() + '#' + QByteArray::number(it.value());
         }
 
         QByteArray options;
-- 
GitLab