[DDRAW] Add missing dereference operators
Andrey Turkin
pancha at mail.nnov.ru
Wed Oct 25 21:23:23 CDT 2006
This patch adds several missing dereference operators because
COM_INTERFACE_CAST must operate on interface pointers and not pointers
to interface pointers. Fixes Inzomia Viewer crash (wouldn't show any
pictures but at least would run)
Patch is against 0.9.23
Changelog:
Add missing dereference operators
-------------- next part --------------
--- wine-0.9.23-orig/dlls/ddraw/device.c 2006-10-13 18:43:39.000000000 +0400
+++ wine-0.9.23/dlls/ddraw/device.c 2006-10-26 06:12:50.739253500 +0400
@@ -1684,7 +1684,7 @@ Thunk_IDirect3DDeviceImpl_2_GetCurrentVi
hr = IDirect3DDevice3_GetCurrentViewport(ICOM_INTERFACE(This, IDirect3DDevice3),
(IDirect3DViewport3 **) Direct3DViewport2);
if(hr != D3D_OK) return hr;
- *Direct3DViewport2 = (IDirect3DViewport2 *) COM_INTERFACE_CAST(IDirect3DViewportImpl, IDirect3DViewport3, IDirect3DViewport3, Direct3DViewport2);
+ *Direct3DViewport2 = (IDirect3DViewport2 *) COM_INTERFACE_CAST(IDirect3DViewportImpl, IDirect3DViewport3, IDirect3DViewport3, *Direct3DViewport2);
return D3D_OK;
}
@@ -1791,7 +1791,7 @@ Thunk_IDirect3DDeviceImpl_3_GetRenderTar
hr = IDirect3DDevice7_GetRenderTarget(ICOM_INTERFACE(This, IDirect3DDevice7),
(IDirectDrawSurface7 **) RenderTarget);
if(hr != D3D_OK) return hr;
- *RenderTarget = (IDirectDrawSurface4 *) COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, IDirectDrawSurface7, IDirectDrawSurface7, RenderTarget);
+ *RenderTarget = (IDirectDrawSurface4 *) COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, IDirectDrawSurface7, IDirectDrawSurface7, *RenderTarget);
return D3D_OK;
}
@@ -1805,7 +1805,7 @@ Thunk_IDirect3DDeviceImpl_2_GetRenderTar
hr = IDirect3DDevice7_GetRenderTarget(ICOM_INTERFACE(This, IDirect3DDevice7),
(IDirectDrawSurface7 **) RenderTarget);
if(hr != D3D_OK) return hr;
- *RenderTarget = (IDirectDrawSurface *) COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, IDirectDrawSurface7, IDirectDrawSurface3, RenderTarget);
+ *RenderTarget = (IDirectDrawSurface *) COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, IDirectDrawSurface7, IDirectDrawSurface3, *RenderTarget);
return D3D_OK;
}
More information about the wine-patches
mailing list