Matteo Bruni : d3dx9: Turn unimplemented interface ERR into a WARN.

Alexandre Julliard julliard at winehq.org
Wed Oct 30 18:40:10 CDT 2019


Module: wine
Branch: master
Commit: 5b66442bc95e42bcef2ca385168fc3d594182e4a
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=5b66442bc95e42bcef2ca385168fc3d594182e4a

Author: Matteo Bruni <mbruni at codeweavers.com>
Date:   Wed Oct 30 10:24:44 2019 +0100

d3dx9: Turn unimplemented interface ERR into a WARN.

Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d3dx9_36/effect.c | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index 7d686a435d..63c931e172 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -4214,41 +4214,43 @@ static HRESULT WINAPI ID3DXEffectCompilerImpl_QueryInterface(ID3DXEffectCompiler
 {
     TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object);
 
-    if (IsEqualGUID(riid, &IID_IUnknown) ||
-        IsEqualGUID(riid, &IID_ID3DXEffectCompiler))
+    if (IsEqualGUID(riid, &IID_IUnknown)
+            || IsEqualGUID(riid, &IID_ID3DXEffectCompiler))
     {
         iface->lpVtbl->AddRef(iface);
         *object = iface;
         return S_OK;
     }
 
-    ERR("Interface %s not found\n", debugstr_guid(riid));
+    WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid));
 
+    *object = NULL;
     return E_NOINTERFACE;
 }
 
 static ULONG WINAPI ID3DXEffectCompilerImpl_AddRef(ID3DXEffectCompiler *iface)
 {
-    struct ID3DXEffectCompilerImpl *This = impl_from_ID3DXEffectCompiler(iface);
+    struct ID3DXEffectCompilerImpl *compiler = impl_from_ID3DXEffectCompiler(iface);
+    ULONG refcount = InterlockedIncrement(&compiler->ref);
 
-    TRACE("iface %p: AddRef from %u\n", iface, This->ref);
+    TRACE("%p increasing refcount to %u.\n", iface, refcount);
 
-    return InterlockedIncrement(&This->ref);
+    return refcount;
 }
 
 static ULONG WINAPI ID3DXEffectCompilerImpl_Release(ID3DXEffectCompiler *iface)
 {
-    struct ID3DXEffectCompilerImpl *This = impl_from_ID3DXEffectCompiler(iface);
-    ULONG ref = InterlockedDecrement(&This->ref);
+    struct ID3DXEffectCompilerImpl *compiler = impl_from_ID3DXEffectCompiler(iface);
+    ULONG refcount = InterlockedDecrement(&compiler->ref);
 
-    TRACE("iface %p: Release from %u\n", iface, ref + 1);
+    TRACE("%p decreasing refcount to %u.\n", iface, refcount);
 
-    if (!ref)
+    if (!refcount)
     {
-        HeapFree(GetProcessHeap(), 0, This);
+        heap_free(compiler);
     }
 
-    return ref;
+    return refcount;
 }
 
 /*** ID3DXBaseEffect methods ***/




More information about the wine-cvs mailing list