ddrawex/tests: Don't crash when IDirectDraw4 query fails
André Hentschel
nerv at dawncrow.de
Tue Nov 26 16:49:03 CST 2013
Mostly for NT: https://test.winehq.org/data/tests/ddrawex:ddrawex.html
---
dlls/ddrawex/tests/ddrawex.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
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);
--
1.8.1.2
More information about the wine-patches
mailing list