]> git.cworth.org Git - apitrace/blobdiff - wrappers/trace.py
Factor out the lock rect size computation.
[apitrace] / wrappers / trace.py
index 8bffbfb74409077eb072b07566090eaa6223c10c..eea2fdc22d6f21a57cb928407ead4cebfcf310e6 100644 (file)
@@ -564,6 +564,9 @@ class Tracer:
     def implementWrapperInterfaceMethodBody(self, interface, base, method):
         print '    static const char * _args[%u] = {%s};' % (len(method.args) + 1, ', '.join(['"this"'] + ['"%s"' % arg.name for arg in method.args]))
         print '    static const trace::FunctionSig _sig = {%u, "%s", %u, _args};' % (method.id, interface.name + '::' + method.name, len(method.args) + 1)
+
+        print '    %s *_this = static_cast<%s *>(m_pInstance);' % (base, base)
+
         print '    unsigned _call = trace::localWriter.beginEnter(&_sig);'
         print '    trace::localWriter.beginArg(0);'
         print '    trace::localWriter.writePointer((uintptr_t)m_pInstance);'
@@ -647,7 +650,7 @@ class Tracer:
             result = ''
         else:
             result = '_result = '
-        print '    %sstatic_cast<%s *>(m_pInstance)->%s(%s);' % (result, base, method.name, ', '.join([str(arg.name) for arg in method.args]))
+        print '    %s_this->%s(%s);' % (result, method.name, ', '.join([str(arg.name) for arg in method.args]))
     
     def emit_memcpy(self, dest, src, length):
         print '        unsigned _call = trace::localWriter.beginEnter(&trace::memcpy_sig);'