Debugger: Respect "Use Dynamic Object Type for Display"

Broke in 5efa84830b.

Task-number: QTCREATORBUG-24280
Change-Id: Ice4b9d826d2402efb354180886d35926a2513e5a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Orgad Shaneh
2020-06-29 09:34:57 +03:00
committed by Orgad Shaneh
parent 94f9544df5
commit 00e814fdd1
2 changed files with 21 additions and 10 deletions
+8 -5
View File
@@ -229,10 +229,11 @@ class Dumper(DumperBase):
def fromFrameValue(self, nativeValue):
#DumperBase.warn('FROM FRAME VALUE: %s' % nativeValue.address)
val = nativeValue
try:
val = nativeValue.cast(nativeValue.dynamic_type)
except:
pass
if self.useDynamicType:
try:
val = nativeValue.cast(nativeValue.dynamic_type)
except:
pass
return self.fromNativeValue(val)
def fromNativeValue(self, nativeValue):
@@ -1151,7 +1152,9 @@ class Dumper(DumperBase):
def nativeValueDereferencePointer(self, value):
# This is actually pretty expensive, up to 100ms.
deref = value.nativeValue.dereference()
return self.fromNativeValue(deref.cast(deref.dynamic_type))
if self.useDynamicType:
deref = deref.cast(deref.dynamic_type)
return self.fromNativeValue(deref)
def nativeValueDereferenceReference(self, value):
nativeValue = value.nativeValue