gdiplus/tests: Add a test for GdipCloneBitmapArea called on an already locked bitmap.
Dmitry Timoshkov
dmitry at baikal.ru
Wed Oct 16 20:08:53 CDT 2013
---
dlls/gdiplus/tests/image.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c
index 9f5730e..650d12f 100644
--- a/dlls/gdiplus/tests/image.c
+++ b/dlls/gdiplus/tests/image.c
@@ -4240,6 +4240,33 @@ static void test_ARGB_conversion(void)
GdipDisposeImage((GpImage *)bitmap);
}
+
+static void test_CloneBitmapArea(void)
+{
+ GpStatus status;
+ GpBitmap *bitmap, *copy;
+ BitmapData data, data2;
+
+ status = GdipCreateBitmapFromScan0(1, 1, 0, PixelFormat24bppRGB, NULL, &bitmap);
+ expect(Ok, status);
+
+ status = GdipBitmapLockBits(bitmap, NULL, ImageLockModeRead | ImageLockModeWrite, PixelFormat24bppRGB, &data);
+ expect(Ok, status);
+
+ status = GdipBitmapLockBits(bitmap, NULL, ImageLockModeRead, PixelFormat24bppRGB, &data2);
+ expect(WrongState, status);
+
+ status = GdipCloneBitmapAreaI(0, 0, 1, 1, PixelFormat24bppRGB, bitmap, ©);
+todo_wine
+ expect(Ok, status);
+
+ status = GdipBitmapUnlockBits(bitmap, &data);
+ expect(Ok, status);
+
+ GdipDisposeImage((GpImage *)copy);
+ GdipDisposeImage((GpImage *)bitmap);
+}
+
START_TEST(image)
{
struct GdiplusStartupInput gdiplusStartupInput;
@@ -4252,6 +4279,7 @@ START_TEST(image)
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
+ test_CloneBitmapArea();
test_ARGB_conversion();
test_DrawImage_scale();
test_image_format();
--
1.8.4.1
More information about the wine-patches
mailing list