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;
}