]> git.cworth.org Git - apitrace/blobdiff - wrappers/d3d9trace.py
Refactor d3d9 lock tracking code further.
[apitrace] / wrappers / d3d9trace.py
index c82d525993aae1ae0a76344c329d89db21d039be..8d71a3cc90ec202436c07e19a2102b13e3ba765a 100644 (file)
@@ -60,19 +60,12 @@ class D3D9Tracer(DllTracer):
         DllTracer.implementWrapperInterfaceMethodBody(self, interface, base, method)
 
         if method.name in ('Lock', 'LockRect', 'LockBox'):
+            # FIXME: handle recursive locks
             print '    if (SUCCEEDED(_result) && !(Flags & D3DLOCK_READONLY)) {'
-            print '        _LockedSize = _getLockSize(_this, %s);' % ', '.join(method.argNames()[:-1])
-            if method.name == 'Lock':
-                # FIXME: handle recursive locks
-                print '        m_pbData = *ppbData;'
-            elif method.name == 'LockRect':
-                print '        m_pbData = pLockedRect->pBits;'
-            elif method.name == 'LockBox':
-                print '        m_pbData = pLockedVolume->pBits;'
-            else:
-                raise NotImplementedError
+            print '        _getLockInfo(_this, %s, m_pbData, _LockedSize);' % ', '.join(method.argNames()[:-1])
             print '    } else {'
             print '        m_pbData = NULL;'
+            print '        _LockedSize = 0;'
             print '    }'