diff --git a/dlls/d3d10core/tests/device.c b/dlls/d3d10core/tests/device.c index 4195baddd6c..ce3d03c26f3 100644 --- a/dlls/d3d10core/tests/device.c +++ b/dlls/d3d10core/tests/device.c @@ -35,18 +35,19 @@ static ID3D10Device *create_device(void) if (FAILED(hr)) goto cleanup; hr = IDXGIFactory_EnumAdapters(factory, 0, &adapter); - ok(SUCCEEDED(hr) || - hr == DXGI_ERROR_NOT_FOUND, /* Some VMware and VirtualBox */ - "EnumAdapters failed, hr %#x\n", hr); - if (FAILED(hr)) goto cleanup; + ok(SUCCEEDED(hr) || hr == DXGI_ERROR_NOT_FOUND, /* Some VMware and VirtualBox */ + "EnumAdapters failed, hr %#x.\n", hr); + if (SUCCEEDED(hr)) + { + hr = D3D10CoreCreateDevice(factory, adapter, 0, NULL, &device); + } - hr = D3D10CoreCreateDevice(factory, adapter, 0, NULL, &device); if (FAILED(hr)) { HMODULE d3d10ref; trace("Failed to create a HW device, trying REF\n"); - IDXGIAdapter_Release(adapter); + if (adapter) IDXGIAdapter_Release(adapter); adapter = NULL; d3d10ref = LoadLibraryA("d3d10ref.dll");