[PATCH 3/5] ddraw: Querying IUnknown for a surface should return the IDirectDrawSurface interface.
Henri Verbeet
hverbeet at codeweavers.com
Thu Mar 29 18:08:36 CDT 2012
I have tests to prove this, but they require some additional patches to pass
first.
---
dlls/ddraw/surface.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index 2178064..202eb4d 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -142,8 +142,7 @@ static HRESULT WINAPI ddraw_surface7_QueryInterface(IDirectDrawSurface7 *iface,
if(!riid)
return DDERR_INVALIDPARAMS;
- if (IsEqualGUID(riid, &IID_IUnknown)
- || IsEqualGUID(riid, &IID_IDirectDrawSurface7) )
+ if (IsEqualGUID(riid, &IID_IDirectDrawSurface7))
{
IDirectDrawSurface7_AddRef(iface);
*obj = iface;
@@ -175,7 +174,8 @@ static HRESULT WINAPI ddraw_surface7_QueryInterface(IDirectDrawSurface7 *iface,
return S_OK;
}
- if (IsEqualGUID(riid, &IID_IDirectDrawSurface))
+ if (IsEqualGUID(riid, &IID_IDirectDrawSurface)
+ || IsEqualGUID(riid, &IID_IUnknown))
{
IDirectDrawSurface_AddRef(&This->IDirectDrawSurface_iface);
*obj = &This->IDirectDrawSurface_iface;
--
1.7.3.4
More information about the wine-patches
mailing list