From 1d209b9c3e6815f1f8d657f43472ecfef4d9f90b Mon Sep 17 00:00:00 2001 From: Orgad Shaneh <orgad.shaneh@audiocodes.com> Date: Mon, 20 Aug 2012 15:36:26 +0300 Subject: [PATCH] Dumper: Respect dynamic type option for locals and references Task-number: QTCREATORBUG-7504 Change-Id: Ib49b4189e84cd4d3539ec9bbbada373f306ca68d Reviewed-by: hjk <qthjk@ovi.com> --- share/qtcreator/dumper/dumper.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/share/qtcreator/dumper/dumper.py b/share/qtcreator/dumper/dumper.py index d02ea77825d..f37a4af2d76 100644 --- a/share/qtcreator/dumper/dumper.py +++ b/share/qtcreator/dumper/dumper.py @@ -1054,7 +1054,7 @@ class Dumper: pass for item in locals: - value = downcast(item.value) + value = downcast(item.value) if self.useDynamicType else item.value with OutputSafer(self): self.anonNumber = -1 @@ -1370,17 +1370,18 @@ class Dumper: except: pass - try: - # Dynamic references are not supported by gdb, see - # http://sourceware.org/bugzilla/show_bug.cgi?id=14077. - # Find the dynamic type manually using referenced_type. - value = value.referenced_value() - value = value.cast(value.dynamic_type) - self.putItem(value) - self.putBetterType("%s &" % value.type) - return - except: - pass + if tryDynamic: + try: + # Dynamic references are not supported by gdb, see + # http://sourceware.org/bugzilla/show_bug.cgi?id=14077. + # Find the dynamic type manually using referenced_type. + value = value.referenced_value() + value = value.cast(value.dynamic_type) + self.putItem(value) + self.putBetterType("%s &" % value.type) + return + except: + pass try: # FIXME: This throws "RuntimeError: Attempt to dereference a -- GitLab