forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.2'
Conflicts: doc/src/qtquick/creator-tutorial-create-qq-project.qdocinc doc/src/qtquick/qtquick-creating.qdoc doc/src/qtquick/qtquick-uiforms-tutorial.qdoc share/qtcreator/welcomescreen/qtcreator_tutorials.xml src/plugins/git/gitgrep.cpp src/shared/qbs Change-Id: I6f4d168d888d9547c3af0819f79cc9ebb4186ca0
This commit is contained in:
@@ -380,10 +380,30 @@ class Dumper(DumperBase):
|
||||
|
||||
def nativeTypeEnumDisplay(self, nativeType, intval):
|
||||
try:
|
||||
val = gdb.parse_and_eval('(%s)%d' % (nativeType, intval))
|
||||
return '%s (%d)' % (val, intval)
|
||||
enumerators = []
|
||||
for field in nativeType.fields():
|
||||
# If we found an exact match, return it immediately
|
||||
if field.enumval == intval:
|
||||
return '%s (%d)' % (field.name, intval)
|
||||
enumerators.append((field.name, field.enumval))
|
||||
|
||||
# No match was found, try to return as flags
|
||||
enumerators.sort(key = lambda x: x[1])
|
||||
flags = []
|
||||
v = intval
|
||||
found = False
|
||||
for (name, value) in enumerators:
|
||||
if v & value != 0:
|
||||
flags.append(name)
|
||||
v = v & ~value
|
||||
found = True
|
||||
if not found or v != 0:
|
||||
# Leftover value
|
||||
flags.append('unknown:%d' % v)
|
||||
return "(%s) (%d)" % (" | ".join(flags), intval)
|
||||
except:
|
||||
return '%d' % intval
|
||||
pass
|
||||
return '%d' % intval
|
||||
|
||||
def nativeTypeId(self, nativeType):
|
||||
name = str(nativeType)
|
||||
|
||||
Reference in New Issue
Block a user