From 0454ace14774654c3670a2a29613bed5039991c5 Mon Sep 17 00:00:00 2001 From: Roderick Colenbrander Date: Thu, 3 Sep 2009 13:51:44 +0200 Subject: [PATCH] Always adjust the color_shifts pointer when SelectBitmap is called. This fixes a regression in Steam (bug 19916). --- dlls/winex11.drv/bitmap.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/dlls/winex11.drv/bitmap.c b/dlls/winex11.drv/bitmap.c index 4d635aa..fee2dbc 100644 --- a/dlls/winex11.drv/bitmap.c +++ b/dlls/winex11.drv/bitmap.c @@ -110,10 +110,6 @@ HBITMAP CDECL X11DRV_SelectBitmap( X11DRV_PDEVICE *physDev, HBITMAP hbitmap ) if (physDev->depth != physBitmap->pixmap_depth) { physDev->depth = physBitmap->pixmap_depth; - if(physDev->depth == 1) - physDev->color_shifts = NULL; - else - physDev->color_shifts = &physBitmap->pixmap_color_shifts; wine_tsx11_lock(); XFreeGC( gdi_display, physDev->gc ); physDev->gc = XCreateGC( gdi_display, physDev->drawable, 0, NULL ); @@ -122,6 +118,12 @@ HBITMAP CDECL X11DRV_SelectBitmap( X11DRV_PDEVICE *physDev, HBITMAP hbitmap ) XFlush( gdi_display ); wine_tsx11_unlock(); } + + if(physDev->depth == 1) + physDev->color_shifts = NULL; + else + physDev->color_shifts = &physBitmap->pixmap_color_shifts; + return hbitmap; } -- 1.6.0.4