mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-15 06:04:49 +01:00
redraw when primary palette changed
This commit is contained in:
parent
4138dea0db
commit
f96fd40607
@ -1084,9 +1084,22 @@ HRESULT dds_SetPalette(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWPALETTE lpDDPal
|
||||
if (This->palette)
|
||||
IDirectDrawPalette_Release(This->palette);
|
||||
|
||||
EnterCriticalSection(&g_ddraw->cs);
|
||||
This->palette = (IDirectDrawPaletteImpl*)lpDDPalette;
|
||||
LeaveCriticalSection(&g_ddraw->cs);
|
||||
if (This->caps & DDSCAPS_PRIMARYSURFACE)
|
||||
{
|
||||
EnterCriticalSection(&g_ddraw->cs);
|
||||
This->palette = (IDirectDrawPaletteImpl*)lpDDPalette;
|
||||
LeaveCriticalSection(&g_ddraw->cs);
|
||||
|
||||
if (g_ddraw->render.run)
|
||||
{
|
||||
InterlockedExchange(&g_ddraw->render.palette_updated, TRUE);
|
||||
ReleaseSemaphore(g_ddraw->render.sem, 1, NULL);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
This->palette = (IDirectDrawPaletteImpl*)lpDDPalette;
|
||||
}
|
||||
|
||||
return DD_OK;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user