[PATCH v2 4/7] gdi32/test: Add tests for recording MaskBlt and PlgBlt in EMFs.

Huw Davies huw at codeweavers.com
Thu Sep 9 08:34:30 CDT 2021


On Thu, Sep 09, 2021 at 03:06:40PM +0200, Jacek Caban wrote:
> +static void test_emf_mask_blit(void)
> +{
> +    BITMAPINFO bmi = {{ sizeof(bmi) }};

BITMAPINFO only contains one bmiColors element and you're using two
later on.  Typically you'd point bmi at a bmi_buffer of the correct
size.

> +    bmi.bmiHeader.biHeight = 3;
> +    bmi.bmiHeader.biWidth = 4;
> +    bmi.bmiHeader.biBitCount = 1;
> +    bmi.bmiHeader.biPlanes = 1;
> +    bmi.bmiHeader.biCompression = BI_RGB;
> +    bmi.bmiHeader.biClrUsed = 1;
> +    bmi.bmiColors[0].rgbRed = bmi.bmiColors[0].rgbGreen = bmi.bmiColors[0].rgbBlue = 0;
> +    bmi.bmiColors[1].rgbRed = bmi.bmiColors[1].rgbGreen = bmi.bmiColors[1].rgbBlue = 255;
> +    mask_bitmap = CreateDIBSection(dib_hdc, &bmi, DIB_RGB_COLORS, &bits, NULL, 0);
> +    ok(!!mask_bitmap, "CreateDIBSection failed, error %d\n", GetLastError());
> +    memset(bits, ~0, bmi.bmiHeader.biSize);

Did you really mean biSize here?  You were probably thinking of
biSizeImage, but that's not set by CreateDIBSection, so you'll have to
calculate yourself.

Huw.



More information about the wine-devel mailing list