mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
addref on GetClipper and GetPalette
This commit is contained in:
parent
e5652ba849
commit
a8359e8e77
@ -776,7 +776,15 @@ HRESULT dds_GetClipper(IDirectDrawSurfaceImpl* This, LPDIRECTDRAWCLIPPER FAR* lp
|
|||||||
if (lpClipper)
|
if (lpClipper)
|
||||||
*lpClipper = (LPDIRECTDRAWCLIPPER)This->clipper;
|
*lpClipper = (LPDIRECTDRAWCLIPPER)This->clipper;
|
||||||
|
|
||||||
return DD_OK;
|
if (This->clipper)
|
||||||
|
{
|
||||||
|
IDirectDrawClipper_AddRef(This->clipper);
|
||||||
|
return DD_OK;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return DDERR_NOCLIPPERATTACHED;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT dds_GetColorKey(IDirectDrawSurfaceImpl *This, DWORD flags, LPDDCOLORKEY colorKey)
|
HRESULT dds_GetColorKey(IDirectDrawSurfaceImpl *This, DWORD flags, LPDDCOLORKEY colorKey)
|
||||||
@ -826,10 +834,12 @@ HRESULT dds_GetDC(IDirectDrawSurfaceImpl *This, HDC FAR *lpHDC)
|
|||||||
|
|
||||||
HRESULT dds_GetPalette(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWPALETTE FAR *lplpDDPalette)
|
HRESULT dds_GetPalette(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWPALETTE FAR *lplpDDPalette)
|
||||||
{
|
{
|
||||||
*lplpDDPalette = (LPDIRECTDRAWPALETTE)This->palette;
|
if (lplpDDPalette)
|
||||||
|
*lplpDDPalette = (LPDIRECTDRAWPALETTE)This->palette;
|
||||||
|
|
||||||
if (This->palette)
|
if (This->palette)
|
||||||
{
|
{
|
||||||
|
IDirectDrawPalette_AddRef(This->palette);
|
||||||
return DD_OK;
|
return DD_OK;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -919,20 +929,14 @@ HRESULT dds_SetClipper(IDirectDrawSurfaceImpl* This, LPDIRECTDRAWCLIPPER lpClipp
|
|||||||
|
|
||||||
HRESULT dds_SetPalette(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWPALETTE lpDDPalette)
|
HRESULT dds_SetPalette(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWPALETTE lpDDPalette)
|
||||||
{
|
{
|
||||||
if (!lpDDPalette)
|
if (lpDDPalette)
|
||||||
return DDERR_INVALIDPARAMS;
|
IDirectDrawPalette_AddRef(lpDDPalette);
|
||||||
|
|
||||||
IDirectDrawPalette_AddRef(lpDDPalette);
|
|
||||||
|
|
||||||
if (This->palette)
|
if (This->palette)
|
||||||
{
|
|
||||||
IDirectDrawPalette_Release(This->palette);
|
IDirectDrawPalette_Release(This->palette);
|
||||||
}
|
|
||||||
|
|
||||||
EnterCriticalSection(&g_ddraw->cs);
|
EnterCriticalSection(&g_ddraw->cs);
|
||||||
|
|
||||||
This->palette = (IDirectDrawPaletteImpl*)lpDDPalette;
|
This->palette = (IDirectDrawPaletteImpl*)lpDDPalette;
|
||||||
|
|
||||||
LeaveCriticalSection(&g_ddraw->cs);
|
LeaveCriticalSection(&g_ddraw->cs);
|
||||||
|
|
||||||
return DD_OK;
|
return DD_OK;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user