summaryrefslogtreecommitdiff
path: root/share/qtcreator/debugger
diff options
context:
space:
mode:
authorhjk <hjk@theqtcompany.com>2015-12-08 14:27:42 +0100
committerStephane PETITHOMME <toolinfo@yahoo.com>2015-12-09 07:37:03 +0000
commit4099cef35db9c26add8ce8e6d5c4a95aaaa552ca (patch)
treecb8a88fca34e4ad2aaf8efddcecac6fd99bee3c5 /share/qtcreator/debugger
parent115960be84009bdfaa68b60e0f3a9d3b04bda14d (diff)
downloadqt-creator-4099cef35db9c26add8ce8e6d5c4a95aaaa552ca.tar.gz
Debugger: Better fallback for resolving function local struct types
Function-local struct definitions produces types 'names' like 'QList<main(int, char**)::SomeStruct>'. Remove the part up to the '::' and rely on local lookup. Task-number: QTCREATORBUG-15400 Change-Id: Ic73005f294c5f62c504b2d7ded4dd2716d88f2e4 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Diffstat (limited to 'share/qtcreator/debugger')
-rw-r--r--share/qtcreator/debugger/dumper.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py
index 8a5b51ddca..92139e5d14 100644
--- a/share/qtcreator/debugger/dumper.py
+++ b/share/qtcreator/debugger/dumper.py
@@ -667,7 +667,12 @@ class DumperBase:
else:
inner += c
skipSpace = False
- return inner.strip()
+ # Handle local struct definitions like QList<main(int, char**)::SomeStruct>
+ inner = inner.strip()
+ p = inner.find(')::')
+ if p > -1:
+ inner = inner[p+3:]
+ return inner
def putStringValueByAddress(self, addr):
elided, data = self.encodeStringHelper(addr, self.displayStringLimit)