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

Józef Kucia jkucia at codeweavers.com
Tue Apr 5 03:22:05 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 d1b817b..5a5eeae 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -2508,9 +2508,14 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreatePredicate(ID3D11Device *ifac
     if (FAILED(hr = d3d_query_create(device, desc, TRUE, &object)))
         return hr;
 
-    *predicate = (ID3D11Predicate *)&object->ID3D11Query_iface;
+    if (predicate)
+    {
+        *predicate = (ID3D11Predicate *)&object->ID3D11Query_iface;
+        return S_OK;
+    }
 
-    return S_OK;
+    ID3D11Query_Release(&object->ID3D11Query_iface);
+    return S_FALSE;
 }
 
 static HRESULT STDMETHODCALLTYPE d3d11_device_CreateCounter(ID3D11Device *iface, const D3D11_COUNTER_DESC *desc,
-- 
2.4.10




More information about the wine-patches mailing list