From 5e3e7304a1bf28e692f6b0b3b7010dc15aee4f12 Mon Sep 17 00:00:00 2001 From: Vincent Povirk Date: Wed, 2 Jan 2013 13:25:18 -0600 Subject: [PATCH] windowscodecs: Add test showing CreateBitmapFromMemory copies the data. --- dlls/windowscodecs/tests/bitmap.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/dlls/windowscodecs/tests/bitmap.c b/dlls/windowscodecs/tests/bitmap.c index cec714b0251..af0446c87b6 100644 --- a/dlls/windowscodecs/tests/bitmap.c +++ b/dlls/windowscodecs/tests/bitmap.c @@ -421,10 +421,11 @@ static void test_createbitmapfromsource(void) static void test_CreateBitmapFromMemory(void) { - BYTE data3x3[27] = { + BYTE orig_data3x3[27] = { 128,128,255, 128,128,128, 128,255,128, 128,128,128, 128,128,128, 255,255,255, 255,128,128, 255,255,255, 255,255,255 }; + BYTE data3x3[27]; BYTE data3x2[27] = { 128,128,255, 128,128,128, 128,255,128, 0,0,0, 0,128,128, 255,255,255, @@ -434,6 +435,8 @@ static void test_CreateBitmapFromMemory(void) IWICBitmap *bitmap; UINT width, height, i; + memcpy(data3x3, orig_data3x3, sizeof(data3x3)); + hr = IWICImagingFactory_CreateBitmapFromMemory(factory, 3, 3, &GUID_WICPixelFormat24bppBGR, 0, 0, NULL, &bitmap); todo_wine @@ -470,16 +473,18 @@ todo_wine ok(width == 3, "expected 3, got %u\n", width); ok(height == 3, "expected 3, got %u\n", height); + data3x3[2] = 192; + memset(data, 0, sizeof(data)); hr = IWICBitmap_CopyPixels(bitmap, NULL, 9, sizeof(data), data); ok(hr == S_OK, "IWICBitmap_CopyPixels error %#x\n", hr); for (i = 0; i < sizeof(data); i++) - ok(data[i] == data3x3[i], "%u: expected %u, got %u\n", i, data[i], data3x3[i]); + ok(data[i] == orig_data3x3[i], "%u: expected %u, got %u\n", i, data[i], data3x3[i]); IWICBitmap_Release(bitmap); hr = IWICImagingFactory_CreateBitmapFromMemory(factory, 3, 2, &GUID_WICPixelFormat24bppBGR, - 13, sizeof(data3x3), data3x3, &bitmap); + 13, sizeof(orig_data3x3), orig_data3x3, &bitmap); ok(hr == S_OK, "IWICImagingFactory_CreateBitmapFromMemory error %#x\n", hr); if (hr != S_OK) return; -- 2.11.4.GIT