[PATCH 04/10] d3d11: Allow to pass NULL as "predicate" to d3d10_device_CreatePredicate().

Józef Kucia jkucia at codeweavers.com
Tue Apr 5 03:22:06 CDT 2016


Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
 dlls/d3d11/device.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 5a5eeae..0e427a3 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -4627,9 +4627,14 @@ static HRESULT STDMETHODCALLTYPE d3d10_device_CreatePredicate(ID3D10Device1 *ifa
     if (FAILED(hr = d3d_query_create(device, (const D3D11_QUERY_DESC *)desc, TRUE, &object)))
         return hr;
 
-    *predicate = (ID3D10Predicate *)&object->ID3D10Query_iface;
+    if (predicate)
+    {
+        *predicate = (ID3D10Predicate *)&object->ID3D10Query_iface;
+        return S_OK;
+    }
 
-    return S_OK;
+    ID3D10Query_Release(&object->ID3D10Query_iface);
+    return S_FALSE;
 }
 
 static HRESULT STDMETHODCALLTYPE d3d10_device_CreateCounter(ID3D10Device1 *iface,
-- 
2.4.10




More information about the wine-patches mailing list