[PATCH 3/5] wined3d: Clippers don't need parents.

Henri Verbeet hverbeet at codeweavers.com
Tue Aug 31 11:41:39 CDT 2010


---
 dlls/ddraw/clipper.c           |    2 +-
 dlls/wined3d/clipper.c         |   18 +++---------------
 dlls/wined3d/wined3d_private.h |    1 -
 include/wine/wined3d.idl       |    4 ++--
 4 files changed, 6 insertions(+), 19 deletions(-)

diff --git a/dlls/ddraw/clipper.c b/dlls/ddraw/clipper.c
index 11ba667..be03b99 100644
--- a/dlls/ddraw/clipper.c
+++ b/dlls/ddraw/clipper.c
@@ -309,7 +309,7 @@ HRESULT ddraw_clipper_init(IDirectDrawClipperImpl *clipper)
 {
     clipper->lpVtbl = &ddraw_clipper_vtbl;
     clipper->ref = 1;
-    clipper->wineD3DClipper = pWineDirect3DCreateClipper((IUnknown *)clipper);
+    clipper->wineD3DClipper = pWineDirect3DCreateClipper();
     if (!clipper->wineD3DClipper)
     {
         WARN("Failed to create wined3d clipper.\n");
diff --git a/dlls/wined3d/clipper.c b/dlls/wined3d/clipper.c
index 8be3a95..5423cea 100644
--- a/dlls/wined3d/clipper.c
+++ b/dlls/wined3d/clipper.c
@@ -33,7 +33,6 @@ static HRESULT WINAPI IWineD3DClipperImpl_QueryInterface(IWineD3DClipper *iface,
     TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object);
 
     if (IsEqualGUID(riid, &IID_IWineD3DClipper)
-            || IsEqualGUID(riid, &IID_IWineD3DBase)
             || IsEqualGUID(riid, &IID_IUnknown))
     {
         IUnknown_AddRef(iface);
@@ -72,16 +71,6 @@ static ULONG WINAPI IWineD3DClipperImpl_Release(IWineD3DClipper *iface)
     else return ref;
 }
 
-static HRESULT WINAPI IWineD3DClipperImpl_GetParent(IWineD3DClipper *iface, IUnknown **Parent)
-{
-    IWineD3DClipperImpl *This = (IWineD3DClipperImpl *)iface;
-    TRACE("(%p)->(%p)\n", This, Parent);
-
-    *Parent = This->Parent;
-    IUnknown_AddRef(*Parent);
-    return WINED3D_OK;
-}
-
 static HRESULT WINAPI IWineD3DClipperImpl_SetHwnd(IWineD3DClipper *iface, DWORD Flags, HWND hWnd)
 {
     IWineD3DClipperImpl *This = (IWineD3DClipperImpl *)iface;
@@ -176,7 +165,6 @@ static const IWineD3DClipperVtbl IWineD3DClipper_Vtbl =
     IWineD3DClipperImpl_QueryInterface,
     IWineD3DClipperImpl_AddRef,
     IWineD3DClipperImpl_Release,
-    IWineD3DClipperImpl_GetParent,
     IWineD3DClipperImpl_GetClipList,
     IWineD3DClipperImpl_GetHwnd,
     IWineD3DClipperImpl_IsClipListChanged,
@@ -184,11 +172,12 @@ static const IWineD3DClipperVtbl IWineD3DClipper_Vtbl =
     IWineD3DClipperImpl_SetHwnd
 };
 
-IWineD3DClipper* WINAPI WineDirect3DCreateClipper(IUnknown *Parent)
+IWineD3DClipper * WINAPI WineDirect3DCreateClipper(void)
 {
     IWineD3DClipperImpl *obj;
 
-    TRACE("Creating clipper, parent %p\n", Parent);
+    TRACE("\n");
+
     obj = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*obj));
     if(!obj)
     {
@@ -197,7 +186,6 @@ IWineD3DClipper* WINAPI WineDirect3DCreateClipper(IUnknown *Parent)
     }
 
     obj->lpVtbl = &IWineD3DClipper_Vtbl;
-    obj->Parent = Parent;
 
     IWineD3DClipper_AddRef((IWineD3DClipper *)obj);
     return (IWineD3DClipper *) obj;
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index a153f3c..66f2182 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2001,7 +2001,6 @@ typedef struct IWineD3DClipperImpl
     const IWineD3DClipperVtbl *lpVtbl;
     LONG ref;
 
-    IUnknown *Parent;
     HWND hWnd;
 } IWineD3DClipperImpl;
 
diff --git a/include/wine/wined3d.idl b/include/wine/wined3d.idl
index 001bc8a..c46b04f 100644
--- a/include/wine/wined3d.idl
+++ b/include/wine/wined3d.idl
@@ -2344,7 +2344,7 @@ interface IWineD3DPalette : IWineD3DBase
     local,
     uuid(8f2bceb1-d338-488c-ab7f-0ec980bf5d2d)
 ]
-interface IWineD3DClipper : IWineD3DBase
+interface IWineD3DClipper : IUnknown
 {
     HRESULT GetClipList(
         [in] const RECT *rect,
@@ -3389,6 +3389,6 @@ interface IWineD3DDevice : IUnknown
 }
 
 IWineD3D * __stdcall WineDirect3DCreate(UINT dxVersion, IUnknown *parent);
-IWineD3DClipper * __stdcall WineDirect3DCreateClipper(IUnknown *parent);
+IWineD3DClipper * __stdcall WineDirect3DCreateClipper(void);
 void __stdcall wined3d_mutex_lock(void);
 void __stdcall wined3d_mutex_unlock(void);
-- 
1.7.1




More information about the wine-patches mailing list