[PATCH v2] dmband: Simplify DllGetClassObject

Michael Stefaniuc mstefani at winehq.org
Mon Oct 28 16:35:15 CDT 2019


From: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
---
v2: Get rid of temp variable


 dlls/dmband/dmband_main.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/dlls/dmband/dmband_main.c b/dlls/dmband/dmband_main.c
index f72b41570b..e63678c831 100644
--- a/dlls/dmband/dmband_main.c
+++ b/dlls/dmband/dmband_main.c
@@ -145,16 +145,11 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
 {
     TRACE("(%s, %s, %p)\n", debugstr_dmguid(rclsid), debugstr_dmguid(riid), ppv);
 
-	if (IsEqualCLSID (rclsid, &CLSID_DirectMusicBand) && IsEqualIID (riid, &IID_IClassFactory)) {
-                *ppv = &Band_CF;
-		IClassFactory_AddRef((IClassFactory*)*ppv);
-		return S_OK;
-	} else if (IsEqualCLSID (rclsid, &CLSID_DirectMusicBandTrack) && IsEqualIID (riid, &IID_IClassFactory)) {
-                *ppv = &BandTrack_CF;
-		IClassFactory_AddRef((IClassFactory*)*ppv);
-		return S_OK;	
-	}
-	
+    if (IsEqualCLSID(rclsid, &CLSID_DirectMusicBand))
+        return IClassFactory_QueryInterface(&Band_CF.IClassFactory_iface, riid, ppv);
+    else if (IsEqualCLSID(rclsid, &CLSID_DirectMusicBandTrack))
+        return IClassFactory_QueryInterface(&BandTrack_CF.IClassFactory_iface, riid, ppv);
+
     WARN("(%s, %s, %p): no interface found.\n", debugstr_dmguid(rclsid), debugstr_dmguid(riid), ppv);
     return CLASS_E_CLASSNOTAVAILABLE;
 }
-- 
2.20.1




More information about the wine-devel mailing list