dxgi: Don't crash and just skip the tests if glX in not available.
authorHuw Davies <huw@codeweavers.com>
Wed, 3 Dec 2008 13:33:32 +0000 (13:33 +0000)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 4 Dec 2008 13:43:31 +0000 (14:43 +0100)
dlls/dxgi/dxgi_main.c
dlls/dxgi/tests/device.c

index eaf7b06de0f9d7400ab84ad4254e933a4430653a..b72c04a16fa0697b6c83994332fd866b5b3db9c8 100644 (file)
@@ -97,6 +97,12 @@ HRESULT WINAPI CreateDXGIFactory(REFIID riid, void **factory)
 
     EnterCriticalSection(&dxgi_cs);
     object->wined3d = WineDirect3DCreate(10, (IUnknown *)object);
+    if(!object->wined3d)
+    {
+        hr = DXGI_ERROR_UNSUPPORTED;
+        LeaveCriticalSection(&dxgi_cs);
+        goto fail;
+    }
 
     object->adapter_count = IWineD3D_GetAdapterCount(object->wined3d);
     LeaveCriticalSection(&dxgi_cs);
index 7f22bb4bcd5e43bcefd64399367d8596596305d9..7603c1405deac25eae77707907da6a6103060e4d 100644 (file)
@@ -33,7 +33,6 @@ static IDXGIDevice *create_device(HMODULE d3d10core)
     HRESULT hr;
 
     hr = CreateDXGIFactory(&IID_IDXGIFactory, (void *)&factory);
-    ok(SUCCEEDED(hr), "CreateDXGIFactory failed, hr %#x\n", hr);
     if (FAILED(hr)) goto cleanup;
 
     hr = IDXGIFactory_EnumAdapters(factory, 0, &adapter);