Dmitry Timoshkov : gdiplus: Handle image loading failures under some XP versions.

Alexandre Julliard julliard at winehq.org
Wed Jul 25 16:06:54 CDT 2012


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

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Wed Jul 25 18:11:05 2012 +0900

gdiplus: Handle image loading failures under some XP versions.

---

 dlls/gdiplus/tests/image.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c
index 7f89aec..3d17f3d 100644
--- a/dlls/gdiplus/tests/image.c
+++ b/dlls/gdiplus/tests/image.c
@@ -2702,7 +2702,13 @@ static GpImage *load_image(const BYTE *image_data, UINT image_size)
     ok(refcount == 1, "expected stream refcount 1, got %d\n", refcount);
 
     status = GdipLoadImageFromStream(stream, &image);
-    ok(status == Ok, "GdipLoadImageFromStream error %d\n", status);
+    ok(status == Ok || broken(status == InvalidParameter), /* XP */
+       "GdipLoadImageFromStream error %d\n", status);
+    if (status != Ok)
+    {
+        IStream_Release(stream);
+        return NULL;
+    }
 
     status = GdipGetImageType(image, &image_type);
     ok(status == Ok, "GdipGetImageType error %d\n", status);
@@ -2770,8 +2776,11 @@ static void test_image_properties(void)
     for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
     {
         image = load_image(td[i].image_data, td[i].image_size);
-        ok(image != 0, "%u: failed to load image data\n", i);
-        if (!image) continue;
+        if (!image)
+        {
+            trace("%u: failed to load image data\n", i);
+            continue;
+        }
 
         status = GdipGetImageType(image, &image_type);
         ok(status == Ok, "%u: GdipGetImageType error %d\n", i, status);




More information about the wine-cvs mailing list