diff options
author | hjk <hjk@qt.io> | 2018-12-11 15:15:48 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2018-12-12 09:27:20 +0000 |
commit | 81b6d4f637d03f7929e0963803961e6e5a42fa1f (patch) | |
tree | 14c68459a3beb5f6b8ea04d1b05687369c872c03 /share/qtcreator/debugger/dumper.py | |
parent | 5cd4a73acab1ee3782747d5de55c0ae734bfba2f (diff) | |
download | qt-creator-81b6d4f637d03f7929e0963803961e6e5a42fa1f.tar.gz |
Debugger: Robustify QEvent dumpers
There's no need to go through unknown enum sizes here, they are known.
Also, make it work for namespaced Qt. Avoid casts to typedefs.
Change-Id: I9c6fc44a03a0c245f05957306a129f6902f8cf85
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'share/qtcreator/debugger/dumper.py')
-rw-r--r-- | share/qtcreator/debugger/dumper.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index 67292e2e26..1a646ab4e5 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -2931,8 +2931,8 @@ class DumperBase: % (self.name, self.type.name, self.lbitsize, self.lbitpos, self.dumper.hexencode(self.ldata), addr) - def displayEnum(self, form='%d'): - intval = self.integer() + def displayEnum(self, form='%d', bitsize=None): + intval = self.integer(bitsize) dd = self.type.typeData().enumDisplay if dd is None: return str(intval) @@ -2957,7 +2957,7 @@ class DumperBase: return self.detypedef().pointer() return self.extractInteger(self.dumper.ptrSize() * 8, True) - def integer(self): + def integer(self, bitsize=None): if self.type.code == TypeCodeTypedef: return self.detypedef().integer() elif self.type.code == TypeCodeBitfield: @@ -2966,7 +2966,8 @@ class DumperBase: unsigned = self.type.name == 'unsigned' \ or self.type.name.startswith('unsigned ') \ or self.type.name.find(' unsigned ') != -1 - bitsize = self.type.bitsize() + if bitsize is None: + bitsize = self.type.bitsize() return self.extractInteger(bitsize, unsigned) def floatingPoint(self): |