On Mon, Jul 11, 2016 at 3:18 AM, Stefan Dösinger stefandoesinger@gmail.com wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Am 2016-07-10 um 21:49 schrieb Aaryaman Vasishta:
I believe the "obj == ctxt->obj" tests in destroy_callback and destroy_callback1 should cover this. See test_destroy_callback.
If I understand it correctly not quite, because you're only ever calling AddDestroyCallback via IDirect3DRMObject, never via IDirect3DRMSomethingElse.
(Re-CCed wine-devel)
My bad, I may have clicked on "Reply" instead of "Reply to All" on gmail again..
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.
Do correct me if I have misunderstood something here, though.
Cheers, Aaryaman