Massimo Del Fedele max@veneto.com writes:
diff --git a/dlls/winex11.drv/dib.c b/dlls/winex11.drv/dib.c index 6df4137..42d9082 100644 --- a/dlls/winex11.drv/dib.c +++ b/dlls/winex11.drv/dib.c @@ -3927,6 +3927,7 @@ INT CDECL X11DRV_SetDIBits( X11DRV_PDEVICE *physDev, HBITMAP hbitmap, UINT start X11DRV_DIB_IMAGEBITS_DESCR descr; DIBSECTION ds; LONG width, height, tmpheight;
LONG widthBytes; INT result;
descr.physDev = physDev;
@@ -3936,6 +3937,7 @@ INT CDECL X11DRV_SetDIBits( X11DRV_PDEVICE *physDev, HBITMAP hbitmap, UINT start if (DIB_GetBitmapInfo( &info->bmiHeader, &width, &height, &descr.infoBpp, &descr.compression ) == -1) return 0;
widthBytes = ((width * descr.infoBpp +31) &~31) / 8;
tmpheight = height; if (height < 0) height = -height;
@@ -3977,7 +3979,7 @@ INT CDECL X11DRV_SetDIBits( X11DRV_PDEVICE *physDev, HBITMAP hbitmap, UINT start default: break; }
- descr.bits = bits;
- descr.bits = (BYTE *)bits + widthBytes * (tmpheight > 0 ? (height - startscan - lines) : startscan);
You shouldn't need to change the bits address.