[PATCH 4/5] d3d10core: Try to create a software adapter when no regular adapters are found as well.

Henri Verbeet hverbeet at codeweavers.com
Mon Oct 25 05:33:41 CDT 2010


---
 dlls/d3d10core/tests/device.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/dlls/d3d10core/tests/device.c b/dlls/d3d10core/tests/device.c
index 4195bad..ce3d03c 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");
-- 
1.7.2.2




More information about the wine-patches mailing list