Dmitry Timoshkov : gdiplus/tests: Add a test for GdipCloneBitmapArea called on an already locked bitmap.

Alexandre Julliard julliard at winehq.org
Thu Oct 17 13:51:49 CDT 2013


Module: wine
Branch: master
Commit: 4e14c45b8b1b4104b4ed21da95952f117f83988a
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4e14c45b8b1b4104b4ed21da95952f117f83988a

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Thu Oct 17 10:08:53 2013 +0900

gdiplus/tests: Add a test for GdipCloneBitmapArea called on an already locked bitmap.

---

 dlls/gdiplus/tests/image.c |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

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, &copy);
+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();




More information about the wine-cvs mailing list