Call TSXFlush after setting DGA palette, so it updates immediately.
diff --git a/dlls/ddraw/dpalette/dga.c b/dlls/ddraw/dpalette/dga.c index 4ffdb85..698a491 100644 --- a/dlls/ddraw/dpalette/dga.c +++ b/dlls/ddraw/dpalette/dga.c
@@ -56,6 +56,7 @@ This->palents[start+i].peFlags = palent[i].peFlags; } ddpriv->InstallColormap(display,DefaultScreen(display),dppriv->cm); + TSXFlush(display); return DD_OK; } ICOM_VTABLE(IDirectDrawPalette) dga_ddpalvt =
diff --git a/dlls/ddraw/dsurface/dga.c b/dlls/ddraw/dsurface/dga.c index 1ea2a0f..486db6d 100644 --- a/dlls/ddraw/dsurface/dga.c +++ b/dlls/ddraw/dsurface/dga.c
@@ -109,6 +109,7 @@ dib->colorMap = This->s.palette ? This->s.palette->screen_palents : NULL; GDI_HEAP_UNLOCK(This->s.DIBsection); } + TSXFlush(display); } return DD_OK; }