diff --git a/src/ddsurface.c b/src/ddsurface.c index ed42e85..2fbe230 100644 --- a/src/ddsurface.c +++ b/src/ddsurface.c @@ -870,7 +870,14 @@ HRESULT dds_SetColorKey(IDirectDrawSurfaceImpl *This, DWORD flags, LPDDCOLORKEY HRESULT dds_SetClipper(IDirectDrawSurfaceImpl* This, LPDIRECTDRAWCLIPPER lpClipper) { + if (lpClipper) + IDirectDrawClipper_AddRef(lpClipper); + + if (This->clipper) + IDirectDrawClipper_Release(This->clipper); + This->clipper = (IDirectDrawClipperImpl*)lpClipper; + return DD_OK; }