ddraw/device.c: Fix the AddViewport thunk (resend)

Christoph Bumiller e0425955 at stud3.tuwien.ac.at
Mon Jan 1 12:14:55 CST 2007


Wrong use of the ICOM_THIS_FROM macro in 
Thunk_IDirect3DDeviceImpl_1_AddViewport causes it to relay to GetStats 
instead of AddViewport.

The correctness of this patch was confirmed by Stefan Dösinger when I 
first sent it, so I was asking myself why it was not merged ?

http://www.winehq.org/pipermail/wine-devel/2006-November/052635.html

(The second change is just code cosmetics as I found it odd to name
the IDirect3DViewport pointer Direct3DViewport2)

---
dlls/ddraw/device.c |    6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index c05089f..fae59c4 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -808,7 +808,7 @@ static HRESULT WINAPI
Thunk_IDirect3DDeviceImpl_1_AddViewport(IDirect3DDevice *iface,
                                         IDirect3DViewport *Direct3DViewport)
{
-    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface);
+    ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface);
     IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, 
IDirect3DViewport3, Direct3DViewport);
     TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice3 
interface.\n", This, vp);
     return IDirect3DDevice3_AddViewport(ICOM_INTERFACE(This, 
IDirect3DDevice3),
@@ -871,10 +871,10 @@ Thunk_IDirect3DDeviceImpl_2_DeleteViewpo

static HRESULT WINAPI
Thunk_IDirect3DDeviceImpl_1_DeleteViewport(IDirect3DDevice *iface,
-                                           IDirect3DViewport 
*Direct3DViewport2)
+                                           IDirect3DViewport 
*Direct3DViewport)
{
     ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface);
-    IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, 
IDirect3DViewport3, Direct3DViewport2);
+    IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, 
IDirect3DViewport3, Direct3DViewport);
     TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice3 
interface.\n", This, vp);
     return IDirect3DDevice3_DeleteViewport(ICOM_INTERFACE(This, 
IDirect3DDevice3),
                                            ICOM_INTERFACE(vp, 
IDirect3DViewport3));
-- 
1.4.4




More information about the wine-patches mailing list