]> git.notmuchmail.org Git - apitrace/blobdiff - retrace.py
Warn on null this pointer.
[apitrace] / retrace.py
index 96a53b37adad90cd6c317a63d91a5bfd15184a8a..b2d8f2ff7ff3411b0730259768c572dc42a2419d 100644 (file)
@@ -286,8 +286,12 @@ class Retracer:
         self.swizzleValues(method)
 
     def deserializeThisPointer(self, interface):
-        print '    %s *_this;' % (interface.name,)
-        print '    _this = static_cast<%s *>(_obj_map[call.arg(0).toUIntPtr()]);' % (interface.name,)
+        print r'    %s *_this;' % (interface.name,)
+        print r'    _this = static_cast<%s *>(_obj_map[call.arg(0).toUIntPtr()]);' % (interface.name,)
+        print r'    if (!_this) {'
+        print r'        retrace::warning(call) << "NULL this pointer\n";'
+        print r'        return;'
+        print r'    }'
 
     def deserializeArgs(self, function):
         print '    retrace::ScopedAllocator _allocator;'