Module: wine Branch: master Commit: ef6cc1a282ae378009b944792b11aca66bd37122 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ef6cc1a282ae378009b944792b...
Author: André Hentschel nerv@dawncrow.de Date: Tue Nov 26 23:49:03 2013 +0100
ddrawex/tests: Don't crash when IDirectDraw4 query fails.
---
dlls/ddrawex/tests/ddrawex.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/dlls/ddrawex/tests/ddrawex.c b/dlls/ddrawex/tests/ddrawex.c index aa31b2f..7134a04 100644 --- a/dlls/ddrawex/tests/ddrawex.c +++ b/dlls/ddrawex/tests/ddrawex.c @@ -50,6 +50,7 @@ static void RefCountTest(void) IDirectDraw2 *dd2; IDirectDraw3 *dd3; IDirectDraw4 *dd4; + HRESULT hr; ULONG ref;
ref = get_ref((IUnknown *) dd1); @@ -76,7 +77,15 @@ static void RefCountTest(void) ref = get_ref((IUnknown *) dd3); ok(ref == 3, "IDirectDraw3 refcount is %u, expected 3\n", ref);
- IDirectDraw_QueryInterface(dd1, &IID_IDirectDraw4, (void **) &dd4); + hr = IDirectDraw_QueryInterface(dd1, &IID_IDirectDraw4, (void **) &dd4); + if (FAILED(hr)) + { + win_skip("Failed to query IDirectDraw4\n"); + IDirectDraw_Release(dd1); + IDirectDraw2_Release(dd2); + IDirectDraw3_Release(dd3); + return; + } ref = get_ref((IUnknown *) dd4); ok(ref == 4, "IDirectDraw4 refcount is %u, expected 4\n", ref);