[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