diff options
author | hjk <hjk@theqtcompany.com> | 2016-04-08 17:00:13 +0200 |
---|---|---|
committer | hjk <hjk@theqtcompany.com> | 2016-04-11 10:45:39 +0000 |
commit | e56e6b0ca9c0889aa7a7d4200652153dde02e75c (patch) | |
tree | 837f0ae4b4e0e5167448ac9d52c20dda341810c8 /share | |
parent | 276f4c489ca00ee09f83f4103cb8c3c60877df1b (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.py | 23 |
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) |