From c623ffd7d02e365544c44ae7d3eafbf6fcb1a191 Mon Sep 17 00:00:00 2001 From: Roderick Colenbrander Date: Thu, 21 Feb 2008 18:19:44 +0100 Subject: [PATCH] wined3d: Don't flush in GDI RealizePalette without a palette. --- dlls/wined3d/surface_gdi.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dlls/wined3d/surface_gdi.c b/dlls/wined3d/surface_gdi.c index c0f54bc4dd2..5193e4a32af 100644 --- a/dlls/wined3d/surface_gdi.c +++ b/dlls/wined3d/surface_gdi.c @@ -657,10 +657,11 @@ HRESULT WINAPI IWineGDISurfaceImpl_RealizePalette(IWineD3DSurface *iface) { SetDIBColorTable(This->hDC, 0, 256, col); } - /* Update the image because of the palette change. Some games like e.g Red Alert - * call SetEntries a lot to implement fading. + /* Update the image because of the palette change. Note that this function is also + * called on a palette removal. In such a case we don't have to update the screen. + * Some games like e.g Red Alert call SetEntries a lot to implement fading. */ - if(This->resource.usage & WINED3DUSAGE_RENDERTARGET) + if(pal && This->resource.usage & WINED3DUSAGE_RENDERTARGET) x11_copy_to_screen(This, NULL); return WINED3D_OK;