Roderick Colenbrander : wined3d: Don' t flush in GDI RealizePalette without a palette.

Alexandre Julliard julliard at winehq.org
Fri Feb 22 05:49:33 CST 2008


Module: wine
Branch: master
Commit: c623ffd7d02e365544c44ae7d3eafbf6fcb1a191
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c623ffd7d02e365544c44ae7d3eafbf6fcb1a191

Author: Roderick Colenbrander <thunderbird2k at gmx.net>
Date:   Thu Feb 21 18:19:44 2008 +0100

wined3d: Don't flush in GDI RealizePalette without a palette.

---

 dlls/wined3d/surface_gdi.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/surface_gdi.c b/dlls/wined3d/surface_gdi.c
index c0f54bc..5193e4a 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;




More information about the wine-cvs mailing list