Hallo,
I run X 3.4 with 16 Bits on a MGA 200 bit 16 bit resolution.
E.g running acroread3 results in a lot of FIXME's :
fixme:bitmap:X11DRV_DIB_GetImageBits_4 from 16 bit bitmap with \
mask R,G,B 0,0,0 to 4 bit DIB
and the task bar has all black bitmask for the bitmaps.
For me it seems as if on my Setup XGetImage doen't return the
[red|green|blue]_mask values. Setting the mask from the visual in the
case they where zero does bring up task bar icons.
Is this a sensible solution?
Bye
Uwe Bonnes [EMAIL PROTECTED]
Free Software: If you contribute nothing, expect nothing
--
Index: wine/graphics/x11drv/bitmap.c
===================================================================
RCS file: /home/wine/wine/graphics/x11drv/bitmap.c,v
retrieving revision 1.18
diff -u -r1.18 bitmap.c
--- wine/graphics/x11drv/bitmap.c 2000/03/28 13:37:50 1.18
+++ wine/graphics/x11drv/bitmap.c 2000/03/30 16:05:21
@@ -202,9 +202,18 @@
*/
XImage *X11DRV_BITMAP_GetXImage( const BITMAPOBJ *bmp )
{
- return XGetImage( display, (Pixmap)bmp->physBitmap,
+ XImage *ret =
+ XGetImage( display, (Pixmap)bmp->physBitmap,
0, 0, bmp->bitmap.bmWidth, bmp->bitmap.bmHeight,
AllPlanes, ZPixmap );
+ if (!(ret->red_mask)&&!(ret->green_mask)&&!(ret->blue_mask))
+ {
+ FIXME("BON: correcting mask values\n");
+ ret->red_mask=X11DRV_GetVisual()->red_mask;
+ ret->green_mask=X11DRV_GetVisual()->green_mask;
+ ret->blue_mask=X11DRV_GetVisual()->blue_mask;
+ }
+ return ret;
}