diff --git a/share/qtcreator/gdbmacros/dumper.py b/share/qtcreator/gdbmacros/dumper.py index 0cbbacd6d5c1ba76f39db5f519a8f1555f4b431f..3db8be0a5d5a35056d914b23d513b0b9c9db1022 100644 --- a/share/qtcreator/gdbmacros/dumper.py +++ b/share/qtcreator/gdbmacros/dumper.py @@ -877,13 +877,15 @@ class Dumper: # subsequent underscores are reserved for the implemention. if typeobj.code == gdb.TYPE_CODE_PTR: return self.stripNamespaceFromType(typeobj.target()) + "__star" - # FIXME: pass ns from plugin type = stripClassTag(str(typeobj)) if len(self.ns) > 0 and type.startswith(self.ns): type = type[len(self.ns):] pos = type.find("<") - if pos != -1: - type = type[0:pos] + # FIXME: make it recognize foo<A>::bar<B>::iterator? + while pos != -1: + pos1 = type.rfind(">", pos) + type = type[0:pos] + type[pos1+1:] + pos = type.find("<") return type def isMovableType(self, type):