Patch: Fix X11DRV_DIB_GetImageBits() when target bitmaps are larger than fetched area.

Peter Dons Tychsen donpedro at tdcadsl.dk
Tue Jun 5 19:41:01 CDT 2007


Hello Wine.

Here is a small patch to fix a no-no in X11DRV_DIB_GetImageBits().

Bug: XShmGetImage() uses the bmpImage variable to calculate how much
data is to be fetched from the pixmap. If the bmpImage is larger than
the available data in bmpImage, the XShmGetImage() will therefore fail,
and will spam the user with X errors in the console (not Wine output).
Therefore this patch checks too see if this is the case. If it is, the
function falls back on XGetSubImage() to do the work.

Why XGetSubImage() is not always used i do not know, but presumably it
is because XShmGetImage() is faster. Anyway, now it works for all cases.

This patch fixes apps which like to use large bitmaps for small
captures. Not a common thing, but it happens (and is valid).

/Pedro, Denmark

BTW: I use Wine allot, and i would just like to say THANKS! I use wine
for many different things, and i keep getting impressed. Wine was never
bad, but now its just rockin!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fixed-X11DRV_DIB_GetImageBits-to-be-able-to-handle.patch
Type: application/mbox
Size: 1776 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20070606/1579b2da/0001-Fixed-X11DRV_DIB_GetImageBits-to-be-able-to-handle-0001.bin


More information about the wine-patches mailing list