From fa2ae04ba39f190924f8e2267631e038636f39c0 Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Wed, 1 Dec 2010 14:52:53 +0100
Subject: [PATCH] debugger: fix QMultiMap dumper

Task-number: QTCREATORBUG-3122
---
 share/qtcreator/gdbmacros/gdbmacros.py | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/share/qtcreator/gdbmacros/gdbmacros.py b/share/qtcreator/gdbmacros/gdbmacros.py
index 379e3d0483f..a6dae119531 100644
--- a/share/qtcreator/gdbmacros/gdbmacros.py
+++ b/share/qtcreator/gdbmacros/gdbmacros.py
@@ -579,7 +579,7 @@ def qdump__QMapNode(d, item):
                 d.putItem(Item(item.value["value"], item.iname, "value"))
 
 
-def qdump__QMap(d, item):
+def qdumpHelper__QMap(d, item, forceLong):
     d_ptr = item.value["d"].dereference()
     e_ptr = item.value["e"].dereference()
     n = d_ptr["size"]
@@ -620,15 +620,21 @@ def qdump__QMap(d, item):
                     #if isSimpleType(item.value.type): # or isStringType(d, item.value.type):
                     if isSimpleKey and isSimpleValue:
                         #d.putType(valueType)
-                        d.putName(key)
+                        if forceLong:
+                            d.putName("[%s] %s" % (i, key))
+                        else:
+                            d.putName(key)
                         d.putItem(Item(value, item.iname, i))
                     else:
                         d.putItem(Item(node, item.iname, i))
                 it = it.dereference()["forward"].dereference()
 
 
-def qdump__MultiMap(d, item):
-    qdump__Map(d, item)
+def qdump__QMap(d, item):
+    qdumpHelper__QMap(d, item, False)
+
+def qdump__QMultiMap(d, item):
+    qdumpHelper__QMap(d, item, True)
 
 
 def extractCString(table, offset):
-- 
GitLab