Hello,

Could anyone tell me, why function CopyImage uses
GetBitmapBits/SetBitmapBits, while MSDN marks these function as
absolete?

I've tried to move from GetBitmapBits/SetBitmapBits to
GetDIBits/SetDIBits. It seems to me that this way is correct, if keep
in mind, that GetBitmapBits is wrong.

In attachment you may find a patch for it.

Am I wrong somewhere?

2005/11/25, Cyril Margorin <[EMAIL PROTECTED]>:
> Hello,
>
> During research the crashing application I've found a problem that can
> be easily reproduced by test.
> (http://www.winehq.org/pipermail/wine-patches/2005-November/022384.html)
>
> By investigation of problem I've found that original DIB bit depth is
> 4bpp, Physical pixmap bit depth is (equal to screen) 24bpp.
> In x11drv/bitmap.c X11_GetBitmapBits takes in account just only bit
> depth of physical pixmap, and copies it to provided buffer as-is.
> I.e. it tries to fill buffer with size (e.g.) 48x48x4bpp with
> 48x48x24bpp that causes buffer overrun and late falling in
> SetBitmapBits function.

> --
> Cyril Margorin
>


--
Cyril Margorin

Attachment: user_cursoricon_copyimage.patch
Description: Binary data



Reply via email to