aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorhjk <hjk@theqtcompany.com>2016-04-08 17:00:13 +0200
committerhjk <hjk@theqtcompany.com>2016-04-11 10:45:39 +0000
commite56e6b0ca9c0889aa7a7d4200652153dde02e75c (patch)
tree837f0ae4b4e0e5167448ac9d52c20dda341810c8 /share
parent276f4c489ca00ee09f83f4103cb8c3c60877df1b (diff)
Debugger: Handle wchar_t* equally special as char*
Task-number: QTCREATORBUG-16034 Change-Id: Ic1aed8cef2d8eea9ceaf4123b0b0b7da08e6c86b Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com> Reviewed-by: hjk <hjk@theqtcompany.com>
Diffstat (limited to 'share')
-rw-r--r--share/qtcreator/debugger/dumper.py23
1 files changed, 17 insertions, 6 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py
index 2626cbfb37..2f13356c79 100644
--- a/share/qtcreator/debugger/dumper.py
+++ b/share/qtcreator/debugger/dumper.py
@@ -1043,12 +1043,23 @@ class DumperBase:
# This is shared by pointer and array formatting.
def tryPutSimpleFormattedPointer(self, value, typeName, innerTypeName, displayFormat, limit):
- if displayFormat == AutomaticFormat and innerTypeName == "char":
- # Use Latin1 as default for char *.
- self.putType(typeName)
- (elided, data) = self.encodeCArray(value, 1, limit)
- self.putValue(data, "latin1", elided=elided)
- return True
+ if displayFormat == AutomaticFormat:
+ if innerTypeName == "char":
+ # Use Latin1 as default for char *.
+ self.putType(typeName)
+ (elided, data) = self.encodeCArray(value, 1, limit)
+ self.putValue(data, "latin1", elided=elided)
+ return True
+
+ if innerTypeName == "wchar_t":
+ self.putType(typeName)
+ charSize = self.lookupType('wchar_t').sizeof
+ (elided, data) = self.encodeCArray(value, charSize, limit)
+ if charSize == 2:
+ self.putValue(data, "utf16", elided=elided)
+ else:
+ self.putValue(data, "ucs4", elided=elided)
+ return True
if displayFormat == Latin1StringFormat:
self.putType(typeName)