I believe this fix to be correct. It certainly makes the warcraft3
splash screen appear (Without it, since realizepalette returns a value,
windows messages get sent to a thread which is not listening to
messages, causing a deadlock). Other functions in palatte seem to handle
the virtual palatte correctly, and I have seen no regressions caused by
this patch.
Changelog
With >256 colours, there is no need to realize a palatte, so skip it and
return that no palette entries had to change
Jason
Index: graphics/x11drv/palette.c
===================================================================
RCS file: /home/wine/wine/graphics/x11drv/palette.c,v
retrieving revision 1.37
diff -u -r1.37 palette.c
--- graphics/x11drv/palette.c 13 May 2003 23:56:12 -0000 1.37
+++ graphics/x11drv/palette.c 26 May 2003 13:24:42 -0000
@@ -1221,6 +1221,8 @@
UINT ret;
PALETTEOBJ *palPtr;
+ if (X11DRV_PALETTE_PaletteFlags & X11DRV_PALETTE_VIRTUAL) return 0;
+
if (!(palPtr = GDI_GetObjPtr( hpal, PALETTE_MAGIC ))) return 0;
ret = X11DRV_PALETTE_SetMapping( palPtr, 0, palPtr->logpalette.palNumEntries, !primary );
GDI_ReleaseObj( hpal );