diff --git a/src/ddsurface.c b/src/ddsurface.c index 1ad8429..a3725fd 100644 --- a/src/ddsurface.c +++ b/src/ddsurface.c @@ -929,7 +929,11 @@ HRESULT dds_SetPalette(IDirectDrawSurfaceImpl *This, LPDIRECTDRAWPALETTE lpDDPal IDirectDrawPalette_Release(This->palette); } - This->palette = (IDirectDrawPaletteImpl *)lpDDPalette; + EnterCriticalSection(&g_ddraw->cs); + + This->palette = (IDirectDrawPaletteImpl*)lpDDPalette; + + LeaveCriticalSection(&g_ddraw->cs); return DD_OK; }