http://bugs.winehq.org/show_bug.cgi?id=11295
--- Comment #7 from Dmitry Timoshkov dmitry@codeweavers.com 2008-01-23 00:37:39 --- Probably the problem comes from X11DRV_DIB_CreateDIBFromPixmap in dlls/winex11.drv/dib.c. The 24 vs. 32 bit mismatch comes from the fact that Wine doesn't report 24 bpp depth for a DC in GetDeviceCaps and 32 instead, but X11 uses 24 in that case.
A solution should be to fix X11DRV_DIB_CreateDIBFromPixmap to use 32 if XGetGeometry returns depth 24.