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;
 }
 
 

Reply via email to