[PATCH 5/8] ddraw: Remove a useless viewport callback.
Henri Verbeet
hverbeet at codeweavers.com
Tue Aug 17 12:03:25 CDT 2010
---
dlls/ddraw/ddraw.c | 1 -
dlls/ddraw/ddraw_private.h | 3 ---
dlls/ddraw/device.c | 2 +-
dlls/ddraw/executebuffer.c | 2 +-
dlls/ddraw/viewport.c | 22 ++++++++++++----------
5 files changed, 14 insertions(+), 16 deletions(-)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index 670129d..6f060e7 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -4533,7 +4533,6 @@ static HRESULT WINAPI d3d3_CreateViewport(IDirect3D3 *iface, IDirect3DViewport3
object->ref = 1;
object->ddraw = ddraw_from_d3d3(iface);
object->use_vp2 = 0xff;
- object->activate = viewport_activate;
TRACE("Created viewport %p.\n", object);
*viewport = (IDirect3DViewport3 *)object;
diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h
index bb95767..990d4f7 100644
--- a/dlls/ddraw/ddraw_private.h
+++ b/dlls/ddraw/ddraw_private.h
@@ -585,9 +585,6 @@ struct IDirect3DViewportImpl
D3DVIEWPORT2 vp2;
} viewports;
- /* Activation function */
- void (*activate)(IDirect3DViewportImpl*, BOOL);
-
/* Field used to chain viewports together */
IDirect3DViewportImpl *next;
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index a17627b..25ff428 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -1872,7 +1872,7 @@ IDirect3DDeviceImpl_3_SetCurrentViewport(IDirect3DDevice3 *iface,
/* Activate this viewport */
This->current_viewport->active_device = This;
- This->current_viewport->activate(This->current_viewport, FALSE);
+ viewport_activate(This->current_viewport, FALSE);
LeaveCriticalSection(&ddraw_cs);
return D3D_OK;
diff --git a/dlls/ddraw/executebuffer.c b/dlls/ddraw/executebuffer.c
index 9ae24a1..04f856a 100644
--- a/dlls/ddraw/executebuffer.c
+++ b/dlls/ddraw/executebuffer.c
@@ -103,7 +103,7 @@ IDirect3DExecuteBufferImpl_Execute(IDirect3DExecuteBufferImpl *This,
/* Activate the viewport */
lpViewport->active_device = lpDevice;
- lpViewport->activate(lpViewport, FALSE);
+ viewport_activate(lpViewport, FALSE);
TRACE("ExecuteData :\n");
if (TRACE_ON(d3d7))
diff --git a/dlls/ddraw/viewport.c b/dlls/ddraw/viewport.c
index 01319f5..403463b 100644
--- a/dlls/ddraw/viewport.c
+++ b/dlls/ddraw/viewport.c
@@ -325,8 +325,9 @@ IDirect3DViewportImpl_SetViewport(IDirect3DViewport3 *iface,
if (This->active_device) {
IDirect3DDevice3 *d3d_device3 = (IDirect3DDevice3 *)&This->active_device->IDirect3DDevice3_vtbl;
IDirect3DDevice3_GetCurrentViewport(d3d_device3, ¤t_viewport);
- if (current_viewport) {
- if ((IDirect3DViewportImpl *)current_viewport == This) This->activate(This, FALSE);
+ if (current_viewport)
+ {
+ if ((IDirect3DViewportImpl *)current_viewport == This) viewport_activate(This, FALSE);
IDirect3DViewport3_Release(current_viewport);
}
}
@@ -697,7 +698,7 @@ static HRESULT WINAPI IDirect3DViewportImpl_Clear(IDirect3DViewport3 *iface,
/* Need to temporarily activate viewport to clear it. Previously active one will be restored
afterwards. */
- This->activate(This, TRUE);
+ viewport_activate(This, TRUE);
hr = IDirect3DDevice7_Clear((IDirect3DDevice7 *)This->active_device, dwCount, lpRects,
dwFlags & (D3DCLEAR_ZBUFFER | D3DCLEAR_TARGET), color, 1.0, 0x00000000);
@@ -705,7 +706,7 @@ static HRESULT WINAPI IDirect3DViewportImpl_Clear(IDirect3DViewport3 *iface,
IDirect3DDevice3_GetCurrentViewport(d3d_device3, ¤t_viewport);
if(current_viewport) {
IDirect3DViewportImpl *vp = (IDirect3DViewportImpl *)current_viewport;
- vp->activate(vp, TRUE);
+ viewport_activate(vp, TRUE);
IDirect3DViewport3_Release(current_viewport);
}
@@ -978,8 +979,9 @@ IDirect3DViewportImpl_SetViewport2(IDirect3DViewport3 *iface,
if (This->active_device) {
IDirect3DDevice3 *d3d_device3 = (IDirect3DDevice3 *)&This->active_device->IDirect3DDevice3_vtbl;
IDirect3DDevice3_GetCurrentViewport(d3d_device3, ¤t_viewport);
- if (current_viewport) {
- if ((IDirect3DViewportImpl *)current_viewport == This) This->activate(This, FALSE);
+ if (current_viewport)
+ {
+ if ((IDirect3DViewportImpl *)current_viewport == This) viewport_activate(This, FALSE);
IDirect3DViewport3_Release(current_viewport);
}
}
@@ -1074,16 +1076,16 @@ IDirect3DViewportImpl_Clear2(IDirect3DViewport3 *iface,
return D3DERR_VIEWPORTHASNODEVICE;
}
d3d_device3 = (IDirect3DDevice3 *)&This->active_device->IDirect3DDevice3_vtbl;
- /* Need to temporarily activate viewport to clear it. Previously active one will be restored
- afterwards. */
- This->activate(This, TRUE);
+ /* Need to temporarily activate viewport to clear it. Previously active
+ * one will be restored afterwards. */
+ viewport_activate(This, TRUE);
hr = IDirect3DDevice7_Clear((IDirect3DDevice7 *)This->active_device,
dwCount, lpRects, dwFlags, dwColor, dvZ, dwStencil);
IDirect3DDevice3_GetCurrentViewport(d3d_device3, ¤t_viewport);
if(current_viewport) {
IDirect3DViewportImpl *vp = (IDirect3DViewportImpl *)current_viewport;
- vp->activate(vp, TRUE);
+ viewport_activate(vp, TRUE);
IDirect3DViewport3_Release(current_viewport);
}
LeaveCriticalSection(&ddraw_cs);
--
1.7.1
More information about the wine-patches
mailing list