]> git.cworth.org Git - apitrace/commitdiff
Fix querying an external derived interface.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Mon, 16 Apr 2012 19:48:59 +0000 (20:48 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Mon, 16 Apr 2012 19:48:59 +0000 (20:48 +0100)
wrappers/trace.py

index 0064d86667afe5d48337b1fa23a56c6c022e1c80..18839bb85b3dd1e0baf01919cb8232a9cb181ebb 100644 (file)
@@ -626,11 +626,9 @@ class Tracer:
         else_ = ''
         if self.interface is not None:
             functionName = self.interface.name + '::' + functionName
-            print r'        %sif (*%s == m_pInstance) {' % (else_, out.name,)
+            print r'        if (*%s == m_pInstance &&' % (out.name,)
+            print r'            (%s)) {' % ' || '.join('%s == IID_%s' % (riid.name, iface.name) for iface in self.interface.iterBases())
             print r'            *%s = this;' % (out.name,)
-            print r'            if (%s) {' % ' && '.join('%s != IID_%s' % (riid.name, iface.name) for iface in self.interface.iterBases()) 
-            print r'                warnIID("%s", %s, "unexpected");' % (functionName, riid.name)
-            print r'            }'
             print r'        }'
             else_ = 'else '
         print r'        %s{' % else_