Sorry for the late reply, I was sick for the last couple of days.
On Tue, Apr 19, 2016 at 6:05 PM, Henri Verbeet hverbeet@gmail.com wrote:
On 18 April 2016 at 19:00, Aaryaman Vasishta jem456.vasishta@gmail.com wrote:
diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c index a8f9c40..2b0174d 100644 --- a/dlls/d3drm/tests/d3drm.c +++ b/dlls/d3drm/tests/d3drm.c @@ -1269,7 +1269,8 @@ static void test_destroy_callback(unsigned int
test_idx, REFCLSID clsid, REFIID
context.test_idx = test_idx; context.obj = obj;
- hr = IDirect3DRMObject_AddDestroyCallback(obj, NULL, &context);
- if ((hr = IDirect3DRMObject_AddDestroyCallback(obj, NULL,
&context)) != D3DRMERR_BADVALUE)
return;
I don't think we want that. Doing this means we won't notice when the function starts returning the wrong value, and the following tests get effectively disabled too in that case.
I do agree, but what should we do when a new object is implemented? If
it's okay to extend CreateObject to include the new interface as well as implement Add/Delete destroy callbacks in the same patch, then there's no problem going with this. I had intended to keep the return statement in case a new object was added into CreateObject, but the destroy callback functions for that object weren't implemented.
- hr = IDirect3DRM_CreateObject(d3drm1, &CLSID_DirectDraw, NULL,
&IID_IDirectDraw, (void **)&unknown);
- ok(hr == CLASSFACTORY_E_FIRST, "Expected hr ==
CLASSFACTORY_E_FIRST, got %#x.\n", hr);
- ok(!unknown, "Expected object returned == NULL, got %p.\n",
unknown); It would be better to initialise "unknown" with some known value before calling CreateObject(). Like this, if CreateObject() doesn't touch the value, the test may randomly pass or fail depending on what the initial value of "unknown" ends up being.
Right, I'll resend the patch with the changes right away.
Cheers, Aaryaman