Saulius Krasuckas : mscms: Distinguish between registered and unregistered profile IDs.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Feb 16 14:05:53 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 76f66cc78fe61f7bae0dcde2aae4b904e7d7e62c
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=76f66cc78fe61f7bae0dcde2aae4b904e7d7e62c

Author: Saulius Krasuckas <saulius.krasuckas at ieee.org>
Date:   Thu Feb 16 19:32:58 2006 +0100

mscms: Distinguish between registered and unregistered profile IDs.

---

 dlls/mscms/tests/profile.c |   32 ++++++++++++++++++++++++++++----
 1 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/dlls/mscms/tests/profile.c b/dlls/mscms/tests/profile.c
index da34caa..c982528 100644
--- a/dlls/mscms/tests/profile.c
+++ b/dlls/mscms/tests/profile.c
@@ -497,6 +497,21 @@ static void enum_registered_color_profil
     trace("\n");
 }
 
+static colorspace_descr *query_colorspace(DWORD dwID)
+{
+    DWORD count, i;
+
+    count = sizeof(known_colorspaces)/sizeof(known_colorspaces[0]);
+
+    for (i=0; i<count; i++)
+        if (known_colorspaces[i].dwID == dwID)
+        {
+            if (!known_colorspaces[i].registered) break;
+            return &known_colorspaces[i];
+        }
+    return NULL;
+}
+
 static HKEY reg_open_mscms_key(void)
 {
     char win9x[] = "SOFTWARE\\Microsoft\\Windows";
@@ -580,10 +595,19 @@ static void test_GetStandardColorSpacePr
     fail_GSCSP(A, NULL,    (DWORD)-1, newprofile, &size, sizeP, FALSE, (GLE == ERROR_FILE_NOT_FOUND));
     todo_wine
     fail_GSCSP(A, NULL,    SPACE_RGB, newprofile, NULL,  sizeP, FALSE, (GLE == ERROR_INVALID_PARAMETER));
-    todo_wine
-    fail_GSCSP(A, NULL,    SPACE_RGB, NULL,       &size, sizeP, FALSE, (GLE == ERROR_INSUFFICIENT_BUFFER));
-    todo_wine
-    fail_GSCSP(A, NULL,    SPACE_RGB, newprofile, &size, 0,     FALSE, (GLE == ERROR_MORE_DATA || GLE == ERROR_INSUFFICIENT_BUFFER));
+
+    if (query_colorspace(SPACE_RGB)) 
+    {
+        todo_wine
+        fail_GSCSP(A, NULL,    SPACE_RGB, NULL,       &size, sizeP, FALSE, (GLE == ERROR_INSUFFICIENT_BUFFER));
+        todo_wine
+        fail_GSCSP(A, NULL,    SPACE_RGB, newprofile, &size, 0,     FALSE, (GLE == ERROR_MORE_DATA || GLE == ERROR_INSUFFICIENT_BUFFER));
+    } else {
+        todo_wine
+        fail_GSCSP(A, NULL,    SPACE_RGB, NULL,       &size, sizeP, FALSE, (GLE == ERROR_FILE_NOT_FOUND));
+        todo_wine
+        fail_GSCSP(A, NULL,    SPACE_RGB, newprofile, &size, 0,     FALSE, (GLE == ERROR_FILE_NOT_FOUND));
+    }
 
     /* Several invalid parameter checks */
     fail_GSCSP(A, machine,  0, newprofile, &size, 0,     FALSE, (GLE == ERROR_INVALID_PARAMETER || GLE == ERROR_NOT_SUPPORTED));




More information about the wine-cvs mailing list