From 35e0bb8225bb9c9b654f19b21560756f4e455da1 Mon Sep 17 00:00:00 2001 From: Roderick Colenbrander Date: Tue, 5 Feb 2008 13:25:18 +0100 Subject: [PATCH] wined3d: Redownload the surface data in case of a palette change. This fixes a lot of redrawing problems in Red Alert. --- dlls/wined3d/surface_base.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dlls/wined3d/surface_base.c b/dlls/wined3d/surface_base.c index 8a6f5469de7..d733852d30a 100644 --- a/dlls/wined3d/surface_base.c +++ b/dlls/wined3d/surface_base.c @@ -297,8 +297,9 @@ HRESULT WINAPI IWineD3DBaseSurfaceImpl_RealizePalette(IWineD3DSurface *iface) { if(This->resource.format == WINED3DFMT_P8 || This->resource.format == WINED3DFMT_A8P8) { - if(!This->Flags & SFLAG_INSYSMEM) { - FIXME("Palette changed with surface that does not have an up to date system memory copy\n"); + if(!(This->Flags & SFLAG_INSYSMEM)) { + TRACE("Palette changed with surface that does not have an up to date system memory copy\n"); + IWineD3DSurface_LoadLocation(iface, SFLAG_INSYSMEM, NULL); } TRACE("Dirtifying surface\n"); IWineD3DSurface_ModifyLocation(iface, SFLAG_INSYSMEM, TRUE);