<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 11, 2016 at 3:18 AM, Stefan Dösinger <span dir="ltr"><<a href="mailto:stefandoesinger@gmail.com" target="_blank">stefandoesinger@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA256<br>
<br>
</span><span>Am 2016-07-10 um 21:49 schrieb Aaryaman Vasishta:<br>
> I believe the "obj == ctxt->obj" tests in destroy_callback and<br>
> destroy_callback1 should cover this. See test_destroy_callback.<br>
</span>If I understand it correctly not quite, because you're only ever<br>
calling AddDestroyCallback via IDirect3DRMObject, never via<br>
IDirect3DRMSomethingElse.<br>
<br>
(Re-CCed wine-devel)<br></blockquote><div>My bad, I may have clicked on "Reply" instead of "Reply to All" on gmail again.. <br></div><div> <br></div><div>Anyways, the vtable qi tests tests written so far show that querying IDirect3DRMObject from a particular interface will return version 1 of that interface. So technically it all comes down to calling IDirect3DRM<Interface_name>::AddDestroyCallback(&object->version1_vtable, ...);. In our implementation of this method (see d3drm_main.c), we have passed version 1 of the relevant interface while calling the destroy callbacks within d3drm_object_destroy. The tests seem to agree with that implementation so far.<br><br>Do correct me if I have misunderstood something here, though.<br><br></div><div>Cheers,<br></div><div>Aaryaman<br></div></div><br></div></div>