[PATCH 9/9] Fix crash and failures on Win95

Paul Vriens Paul.Vriens.Wine at gmail.com
Sun Oct 31 13:27:49 CDT 2010


---
 dlls/gdi32/tests/icm.c |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/dlls/gdi32/tests/icm.c b/dlls/gdi32/tests/icm.c
index f201eab..16bec76 100644
--- a/dlls/gdi32/tests/icm.c
+++ b/dlls/gdi32/tests/icm.c
@@ -189,11 +189,16 @@ static void test_EnumICMProfilesA( HDC dc )
     ret = EnumICMProfilesA( NULL, NULL, 0 );
     ok(ret == -1 || broken(ret == 0) /* nt4 */, "expected -1, got %d\n", ret);
 
-    ret = EnumICMProfilesA( dc, NULL, 0 );
-    ok(ret == -1 || broken(ret == 0) /* nt4 */, "expected -1, got %d\n", ret);
-
     ret = EnumICMProfilesA( dc, enum_profiles_callbackA, 0 );
-    ok(ret == -1 || broken(ret == 0) /* nt4 */, "expected -1, got %d\n", ret);
+    ok(ret == -1 || broken(ret == 0) /* nt4 */ || broken(ret == 1) /* win95 */,
+       "expected -1, got %d\n", ret);
+
+    if (ret != 1)
+    {
+        /* Crashes on Win95 */
+        ret = EnumICMProfilesA( dc, NULL, 0 );
+        ok(ret == -1 || broken(ret == 0) /* nt4 */, "expected -1, got %d\n", ret);
+    }
 }
 
 static CALLBACK INT enum_profiles_callbackW( LPWSTR filename, LPARAM lparam )
@@ -251,7 +256,8 @@ static void test_SetICMProfileA( HDC dc )
     ret = SetICMProfileA( dc, NULL );
     error = GetLastError();
     ok(!ret, "SetICMProfileA succeeded\n");
-    ok(error == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", error);
+    ok(error == ERROR_INVALID_PARAMETER || broken(error == 0xdeadbeef) /* win95 */,
+       "expected ERROR_INVALID_PARAMETER, got %u\n", error);
 
     ret = SetICMProfileA( dc, profile );
     ok(ret, "SetICMProfileA failed %u\n", GetLastError());
-- 
1.7.2.3


--------------080408090703010502050500--



More information about the wine-patches mailing list