Bug 1298775 - Fix nullptr dereferencing. r?tbsaunde
This is a follow up to fix nullptr printing.
MozReview-Commit-ID: KDjBsHHiDxv
--- a/python/gdbpp/gdbpp/smartptr.py
+++ b/python/gdbpp/gdbpp/smartptr.py
@@ -39,23 +39,25 @@ class smartptr_printer(object):
else:
type_name = str(self.value.dereference().dynamic_type.pointer())
return '[(%s) %s]' % (type_name, str(self.value))
@GeckoPrettyPrinter('mozilla::StyleSheetHandle::RefPtr', '^mozilla::HandleRefPtr<mozilla::StyleSheetHandle>$')
class sheetptr_printer(object):
def __init__(self, value):
- self.value = value['mHandle']
- if self.value and self.value['mPtr'] and self.value['mPtr']['mValue']:
- self.value = self.value['mPtr']['mValue']
+ self.value = 0
+ if (value['mHandle'] and
+ value['mHandle']['mPtr'] and
+ value['mHandle']['mPtr']['mValue']):
+ self.value = int(value['mHandle']['mPtr']['mValue'])
def to_string(self):
- if not self.value:
- type_name = str(self.value.type)
+ if self.value == 0:
+ type_name = 'mozilla::StyleSheet *'
value = 0
else:
value = int(self.value)
if value & 0x1:
value = value & ~0x1
type_name = 'mozilla::ServoStyleSheet *'
else:
type_name = 'mozilla::CSSStyleSheet *'