[PATCH 1/1] d3d11: Remove null dxgi object checks.

Nikolay Sivov wine at gitlab.winehq.org
Thu Jun 16 07:05:35 CDT 2022


From: Nikolay Sivov <nsivov at codeweavers.com>

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/d3d11/texture.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/dlls/d3d11/texture.c b/dlls/d3d11/texture.c
index 7be689d1f0f..64e78702fd7 100644
--- a/dlls/d3d11/texture.c
+++ b/dlls/d3d11/texture.c
@@ -32,6 +32,7 @@ static inline struct d3d_texture1d *impl_from_ID3D11Texture1D(ID3D11Texture1D *i
 static HRESULT STDMETHODCALLTYPE d3d11_texture1d_QueryInterface(ID3D11Texture1D *iface, REFIID iid, void **out)
 {
     struct d3d_texture1d *texture = impl_from_ID3D11Texture1D(iface);
+    HRESULT hr;
 
     TRACE("iface %p, iid %s, out %p.\n", iface, debugstr_guid(iid), out);
 
@@ -54,16 +55,15 @@ static HRESULT STDMETHODCALLTYPE d3d11_texture1d_QueryInterface(ID3D11Texture1D
         return S_OK;
     }
 
-    if (texture->dxgi_resource)
+    TRACE("Forwarding to dxgi resource.\n");
+
+    if (FAILED(hr = IUnknown_QueryInterface(texture->dxgi_resource, iid, out)))
     {
-        TRACE("Forwarding to dxgi resource.\n");
-        return IUnknown_QueryInterface(texture->dxgi_resource, iid, out);
+        WARN("%s not implemented, returning %#lx.\n", debugstr_guid(iid), hr);
+        *out = NULL;
     }
 
-    WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(iid));
-
-    *out = NULL;
-    return E_NOINTERFACE;
+    return hr;
 }
 
 static ULONG STDMETHODCALLTYPE d3d11_texture1d_AddRef(ID3D11Texture1D *iface)
@@ -514,6 +514,7 @@ HRESULT d3d_texture1d_create(struct d3d_device *device, const D3D11_TEXTURE1D_DE
 static HRESULT STDMETHODCALLTYPE d3d11_texture2d_QueryInterface(ID3D11Texture2D *iface, REFIID riid, void **object)
 {
     struct d3d_texture2d *texture = impl_from_ID3D11Texture2D(iface);
+    HRESULT hr;
 
     TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object);
 
@@ -535,16 +536,15 @@ static HRESULT STDMETHODCALLTYPE d3d11_texture2d_QueryInterface(ID3D11Texture2D
         return S_OK;
     }
 
-    if (texture->dxgi_resource)
+    TRACE("Forwarding to dxgi resource.\n");
+
+    if (FAILED(hr = IUnknown_QueryInterface(texture->dxgi_resource, riid, object)))
     {
-        TRACE("Forwarding to dxgi resource.\n");
-        return IUnknown_QueryInterface(texture->dxgi_resource, riid, object);
+        WARN("%s not implemented, returning %#lx.\n", debugstr_guid(riid), hr);
+        *object = NULL;
     }
 
-    WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid));
-
-    *object = NULL;
-    return E_NOINTERFACE;
+    return hr;
 }
 
 static ULONG STDMETHODCALLTYPE d3d11_texture2d_AddRef(ID3D11Texture2D *iface)
-- 
GitLab

https://gitlab.winehq.org/wine/wine/-/merge_requests/259



More information about the wine-devel mailing list