[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, &current_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, &current_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, &current_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, &current_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