Re: [PATCH 1/2] gdiplus: Allocate enough space for BITMAPINFO in GdipCreateTextureIA.
Lei Zhang wrote:
@@ -512,8 +512,11 @@ GpStatus WINGDIPAPI GdipCreateTextureIA(GpImage *image, IPicture_get_CurDC(image->picture, &hdc); bm_is_selected = (hdc != 0);
- bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); - bmi.bmiHeader.biBitCount = 0; + pbmi = GdipAlloc(sizeof(BITMAPINFOHEADER) + 256 * sizeof(RGBQUAD)); Why 256?
On Sun, Sep 28, 2008 at 12:53 PM, Nikolay Sivov <bunglehead(a)gmail.com> wrote:
Lei Zhang wrote:
@@ -512,8 +512,11 @@ GpStatus WINGDIPAPI GdipCreateTextureIA(GpImage *image, IPicture_get_CurDC(image->picture, &hdc); bm_is_selected = (hdc != 0);
- bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); - bmi.bmiHeader.biBitCount = 0; + pbmi = GdipAlloc(sizeof(BITMAPINFOHEADER) + 256 * sizeof(RGBQUAD)); Why 256?
It's what dlls/comctl32/imagelist.c, dlls/oleaut32/olepicture.c, and others used.
On Sun, Sep 28, 2008 at 01:26:37PM -0700, Lei Zhang wrote:
On Sun, Sep 28, 2008 at 12:53 PM, Nikolay Sivov <bunglehead(a)gmail.com> wrote:
Lei Zhang wrote:
@@ -512,8 +512,11 @@ GpStatus WINGDIPAPI GdipCreateTextureIA(GpImage *image, IPicture_get_CurDC(image->picture, &hdc); bm_is_selected = (hdc != 0);
- bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); - bmi.bmiHeader.biBitCount = 0; + pbmi = GdipAlloc(sizeof(BITMAPINFOHEADER) + 256 * sizeof(RGBQUAD)); Why 256?
It's what dlls/comctl32/imagelist.c, dlls/oleaut32/olepicture.c, and others used.
1 byte pixel can give 256 possibilities I guess. Ciao, Marcus
participants (3)
-
Lei Zhang -
Marcus Meissner -
Nikolay Sivov