diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index a9427b2c608..e819d15b291 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -3200,8 +3200,8 @@ typename)) return "Value(name='%s',typeid=%s, type=%s,data=%s,address=%s)" \ % (self.name, self.typeid, self.type.name, data, addr) - def displayEnum(self, form='%d', bitsize=None): - return self.dumper.value_display_enum(self, form, bitsize) + def displayEnum(self, form='%d'): + return self.dumper.value_display_enum(self, form) def display(self): if self.ldisplay is not None: @@ -4115,7 +4115,7 @@ typename)) fdata = fdata[::-1] return int(fdata, 2) - def value_display_enum(self, value, form='%d', bitsize=None): + def value_display_enum(self, value, form='%d'): size = value.type.size() intval = self.value_extract_integer(value, size, False) dd = self.type_enum_display_cache.get(value.typeid, None) diff --git a/share/qtcreator/debugger/qttypes.py b/share/qtcreator/debugger/qttypes.py index 9f2f1354ce2..5bd8d3ae443 100644 --- a/share/qtcreator/debugger/qttypes.py +++ b/share/qtcreator/debugger/qttypes.py @@ -584,7 +584,7 @@ def qdump__QEvent(d, value): (vtable, privateD, t, flags) = value.split("pp{short}{short}") event_type_name = d.qtNamespace() + "QEvent::Type" type_value = t.cast(event_type_name) - d.putValue(type_value.displayEnum('0x%04x', bitsize=16)) + d.putValue(type_value.displayEnum('0x%04x')) d.putType(event_type_name) # Show the rest of the class fields as usual. @@ -622,7 +622,7 @@ def qdump__QKeyEvent(d, value): k_type_name = d.qtNamespace() + "Qt::Key" k_cast_to_enum_value = k.cast(k_type_name) - k_name = k_cast_to_enum_value.displayEnum(bitsize=32) + k_name = k_cast_to_enum_value.displayEnum() matches = re.search(r'Key_(\w+)', k_name) if matches: k_name = matches.group(1) @@ -677,7 +677,7 @@ def qdump__QKeyEvent(d, value): # Add a sub-item with the enum name and value. with SubItem(d, '[{}]'.format(k_type_name)): k_cast_to_enum_value = k.cast(k_type_name) - d.putValue(k_cast_to_enum_value.displayEnum('0x%04x', bitsize=32)) + d.putValue(k_cast_to_enum_value.displayEnum('0x%04x')) d.putType(k_type_name) # Show the rest of the class fields as usual. @@ -874,10 +874,11 @@ def qdump__QFiniteStack(d, value): def qdump__QFlags(d, value): - i = value.split('{int}')[0] enumType = value.type[0] - v = i.cast(enumType.name) - d.putValue(v.displayEnum('0x%04x', bitsize=32)) + v = value.cast(enumType.name) + size = enumType.size() + # One byte is 2 hex digits + d.putValue(v.displayEnum(f'0x%0{2 * size}x')) def qform__QHash():