Author: akhaldi
Date: Sat Sep 21 20:43:42 2013
New Revision: 60294
URL:
http://svn.reactos.org/svn/reactos?rev=60294&view=rev
Log:
[MSCMS]
* Sync with Wine 1.7.1.
CORE-7469
Modified:
trunk/reactos/dll/win32/mscms/CMakeLists.txt
trunk/reactos/dll/win32/mscms/handle.c
trunk/reactos/dll/win32/mscms/icc.c
trunk/reactos/dll/win32/mscms/mscms_main.c
trunk/reactos/dll/win32/mscms/mscms_priv.h
trunk/reactos/dll/win32/mscms/profile.c
trunk/reactos/dll/win32/mscms/stub.c
trunk/reactos/dll/win32/mscms/transform.c
trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/mscms/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mscms/CMakeLists…
==============================================================================
--- trunk/reactos/dll/win32/mscms/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/mscms/CMakeLists.txt [iso-8859-1] Sat Sep 21 20:43:42 2013
@@ -11,12 +11,11 @@
profile.c
stub.c
transform.c
- version.rc
${CMAKE_CURRENT_BINARY_DIR}/mscms_stubs.c
${CMAKE_CURRENT_BINARY_DIR}/mscms.def)
-add_library(mscms SHARED ${SOURCE})
+add_library(mscms SHARED ${SOURCE} version.rc)
set_module_type(mscms win32dll)
target_link_libraries(mscms wine)
-add_importlibs(mscms msvcrt advapi32 kernel32 ntdll)
+add_importlibs(mscms advapi32 msvcrt kernel32 ntdll)
add_cd_file(TARGET mscms DESTINATION reactos/system32 FOR all)
Modified: trunk/reactos/dll/win32/mscms/handle.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mscms/handle.c?r…
==============================================================================
--- trunk/reactos/dll/win32/mscms/handle.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/mscms/handle.c [iso-8859-1] Sat Sep 21 20:43:42 2013
@@ -31,17 +31,17 @@
//#include "mscms_priv.h"
-#ifdef HAVE_LCMS
-
-static CRITICAL_SECTION MSCMS_handle_cs;
-static CRITICAL_SECTION_DEBUG MSCMS_handle_cs_debug =
-{
- 0, 0, &MSCMS_handle_cs,
- { &MSCMS_handle_cs_debug.ProcessLocksList,
- &MSCMS_handle_cs_debug.ProcessLocksList },
- 0, 0, { (DWORD_PTR)(__FILE__ ": MSCMS_handle_cs") }
+#ifdef HAVE_LCMS2
+
+static CRITICAL_SECTION mscms_handle_cs;
+static CRITICAL_SECTION_DEBUG mscms_handle_cs_debug =
+{
+ 0, 0, &mscms_handle_cs,
+ { &mscms_handle_cs_debug.ProcessLocksList,
+ &mscms_handle_cs_debug.ProcessLocksList },
+ 0, 0, { (DWORD_PTR)(__FILE__ ": mscms_handle_cs") }
};
-static CRITICAL_SECTION MSCMS_handle_cs = { &MSCMS_handle_cs_debug, -1, 0, 0, 0, 0
};
+static CRITICAL_SECTION mscms_handle_cs = { &mscms_handle_cs_debug, -1, 0, 0, 0, 0
};
static struct profile *profiletable;
static struct transform *transformtable;
@@ -61,19 +61,19 @@
transformtable = NULL;
num_transform_handles = 0;
- DeleteCriticalSection( &MSCMS_handle_cs );
+ DeleteCriticalSection( &mscms_handle_cs );
}
struct profile *grab_profile( HPROFILE handle )
{
DWORD_PTR index;
- EnterCriticalSection( &MSCMS_handle_cs );
+ EnterCriticalSection( &mscms_handle_cs );
index = (DWORD_PTR)handle - 1;
if (index > num_profile_handles)
{
- LeaveCriticalSection( &MSCMS_handle_cs );
+ LeaveCriticalSection( &mscms_handle_cs );
return NULL;
}
return &profiletable[index];
@@ -81,19 +81,19 @@
void release_profile( struct profile *profile )
{
- LeaveCriticalSection( &MSCMS_handle_cs );
+ LeaveCriticalSection( &mscms_handle_cs );
}
struct transform *grab_transform( HTRANSFORM handle )
{
DWORD_PTR index;
- EnterCriticalSection( &MSCMS_handle_cs );
+ EnterCriticalSection( &mscms_handle_cs );
index = (DWORD_PTR)handle - 1;
if (index > num_transform_handles)
{
- LeaveCriticalSection( &MSCMS_handle_cs );
+ LeaveCriticalSection( &mscms_handle_cs );
return NULL;
}
return &transformtable[index];
@@ -101,7 +101,7 @@
void release_transform( struct transform *transform )
{
- LeaveCriticalSection( &MSCMS_handle_cs );
+ LeaveCriticalSection( &mscms_handle_cs );
}
static HPROFILE alloc_profile_handle( void )
@@ -112,7 +112,7 @@
for (index = 0; index < num_profile_handles; index++)
{
- if (!profiletable[index].iccprofile) return (HPROFILE)(index + 1);
+ if (!profiletable[index].data) return (HPROFILE)(index + 1);
}
if (!profiletable)
{
@@ -135,14 +135,14 @@
{
HPROFILE handle;
- EnterCriticalSection( &MSCMS_handle_cs );
+ EnterCriticalSection( &mscms_handle_cs );
if ((handle = alloc_profile_handle()))
{
DWORD_PTR index = (DWORD_PTR)handle - 1;
- memcpy( &profiletable[index], profile, sizeof(struct profile) );
- }
- LeaveCriticalSection( &MSCMS_handle_cs );
+ profiletable[index] = *profile;
+ }
+ LeaveCriticalSection( &mscms_handle_cs );
return handle;
}
@@ -151,12 +151,12 @@
DWORD_PTR index;
struct profile *profile;
- EnterCriticalSection( &MSCMS_handle_cs );
+ EnterCriticalSection( &mscms_handle_cs );
index = (DWORD_PTR)handle - 1;
if (index > num_profile_handles)
{
- LeaveCriticalSection( &MSCMS_handle_cs );
+ LeaveCriticalSection( &mscms_handle_cs );
return FALSE;
}
profile = &profiletable[index];
@@ -165,11 +165,11 @@
{
if (profile->access & PROFILE_READWRITE)
{
- DWORD written, size = MSCMS_get_profile_size( profile->iccprofile );
+ DWORD written;
if (SetFilePointer( profile->file, 0, NULL, FILE_BEGIN ) ||
- !WriteFile( profile->file, profile->iccprofile, size, &written,
NULL ) ||
- written != size)
+ !WriteFile( profile->file, profile->data, profile->size,
&written, NULL ) ||
+ written != profile->size)
{
ERR( "Unable to write color profile\n" );
}
@@ -177,11 +177,11 @@
CloseHandle( profile->file );
}
cmsCloseProfile( profile->cmsprofile );
- HeapFree( GetProcessHeap(), 0, profile->iccprofile );
+ HeapFree( GetProcessHeap(), 0, profile->data );
memset( profile, 0, sizeof(struct profile) );
- LeaveCriticalSection( &MSCMS_handle_cs );
+ LeaveCriticalSection( &mscms_handle_cs );
return TRUE;
}
@@ -216,14 +216,14 @@
{
HTRANSFORM handle;
- EnterCriticalSection( &MSCMS_handle_cs );
+ EnterCriticalSection( &mscms_handle_cs );
if ((handle = alloc_transform_handle()))
{
DWORD_PTR index = (DWORD_PTR)handle - 1;
- memcpy( &transformtable[index], transform, sizeof(struct transform) );
- }
- LeaveCriticalSection( &MSCMS_handle_cs );
+ transformtable[index] = *transform;
+ }
+ LeaveCriticalSection( &mscms_handle_cs );
return handle;
}
@@ -232,12 +232,12 @@
DWORD_PTR index;
struct transform *transform;
- EnterCriticalSection( &MSCMS_handle_cs );
+ EnterCriticalSection( &mscms_handle_cs );
index = (DWORD_PTR)handle - 1;
if (index > num_transform_handles)
{
- LeaveCriticalSection( &MSCMS_handle_cs );
+ LeaveCriticalSection( &mscms_handle_cs );
return FALSE;
}
transform = &transformtable[index];
@@ -245,8 +245,8 @@
cmsDeleteTransform( transform->cmstransform );
memset( transform, 0, sizeof(struct transform) );
- LeaveCriticalSection( &MSCMS_handle_cs );
+ LeaveCriticalSection( &mscms_handle_cs );
return TRUE;
}
-#endif /* HAVE_LCMS */
+#endif /* HAVE_LCMS2 */
Modified: trunk/reactos/dll/win32/mscms/icc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mscms/icc.c?rev=…
==============================================================================
--- trunk/reactos/dll/win32/mscms/icc.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/mscms/icc.c [iso-8859-1] Sat Sep 21 20:43:42 2013
@@ -31,75 +31,90 @@
//#include "mscms_priv.h"
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
-static inline void MSCMS_adjust_endianness32( ULONG *ptr )
+static inline void adjust_endianness32( ULONG *ptr )
{
#ifndef WORDS_BIGENDIAN
*ptr = RtlUlongByteSwap(*ptr);
#endif
}
-void MSCMS_get_profile_header( const icProfile *iccprofile, PROFILEHEADER *header )
+void get_profile_header( const struct profile *profile, PROFILEHEADER *header )
{
unsigned int i;
- memcpy( header, iccprofile, sizeof(PROFILEHEADER) );
+ memcpy( header, profile->data, sizeof(PROFILEHEADER) );
/* ICC format is big-endian, swap bytes if necessary */
for (i = 0; i < sizeof(PROFILEHEADER) / sizeof(ULONG); i++)
- MSCMS_adjust_endianness32( (ULONG *)header + i );
+ adjust_endianness32( (ULONG *)header + i );
}
-void MSCMS_set_profile_header( icProfile *iccprofile, const PROFILEHEADER *header )
+void set_profile_header( const struct profile *profile, const PROFILEHEADER *header )
{
unsigned int i;
- icHeader *iccheader = (icHeader *)iccprofile;
- memcpy( iccheader, header, sizeof(icHeader) );
+ memcpy( profile->data, header, sizeof(PROFILEHEADER) );
/* ICC format is big-endian, swap bytes if necessary */
- for (i = 0; i < sizeof(icHeader) / sizeof(ULONG); i++)
- MSCMS_adjust_endianness32( (ULONG *)iccheader + i );
+ for (i = 0; i < sizeof(PROFILEHEADER) / sizeof(ULONG); i++)
+ adjust_endianness32( (ULONG *)profile->data + i );
}
-DWORD MSCMS_get_tag_count( const icProfile *iccprofile )
+static BOOL get_adjusted_tag( const struct profile *profile, TAGTYPE type, cmsTagEntry
*tag )
{
- ULONG count = iccprofile->count;
+ DWORD i, num_tags = *(DWORD *)(profile->data + sizeof(cmsICCHeader));
+ cmsTagEntry *entry;
+ ULONG sig;
- MSCMS_adjust_endianness32( &count );
- return count;
+ adjust_endianness32( &num_tags );
+ for (i = 0; i < num_tags; i++)
+ {
+ entry = (cmsTagEntry *)(profile->data + sizeof(cmsICCHeader) + sizeof(DWORD) +
i * sizeof(*tag));
+ sig = entry->sig;
+ adjust_endianness32( &sig );
+ if (sig == type)
+ {
+ tag->sig = sig;
+ tag->offset = entry->offset;
+ tag->size = entry->size;
+ adjust_endianness32( &tag->offset );
+ adjust_endianness32( &tag->size );
+ return TRUE;
+ }
+ }
+ return FALSE;
}
-void MSCMS_get_tag_by_index( icProfile *iccprofile, DWORD index, icTag *tag )
+BOOL get_tag_data( const struct profile *profile, TAGTYPE type, DWORD offset, void
*buffer, DWORD *len )
{
- icTag *tmp = (icTag *)((char *)iccprofile->data + index * sizeof(icTag));
+ cmsTagEntry tag;
- tag->sig = tmp->sig;
- tag->offset = tmp->offset;
- tag->size = tmp->size;
+ if (!get_adjusted_tag( profile, type, &tag )) return FALSE;
- MSCMS_adjust_endianness32( &tag->sig );
- MSCMS_adjust_endianness32( &tag->offset );
- MSCMS_adjust_endianness32( &tag->size );
+ if (!buffer) offset = 0;
+ if (offset > tag.size) return FALSE;
+ if (*len < tag.size - offset || !buffer)
+ {
+ *len = tag.size - offset;
+ return FALSE;
+ }
+ memcpy( buffer, profile->data + tag.offset + offset, tag.size - offset );
+ *len = tag.size - offset;
+ return TRUE;
}
-void MSCMS_get_tag_data( const icProfile *iccprofile, const icTag *tag, DWORD offset,
void *buffer )
+BOOL set_tag_data( const struct profile *profile, TAGTYPE type, DWORD offset, const void
*buffer, DWORD *len )
{
- memcpy( buffer, (const char *)iccprofile + tag->offset + offset, tag->size -
offset );
+ cmsTagEntry tag;
+
+ if (!get_adjusted_tag( profile, type, &tag )) return FALSE;
+
+ if (offset > tag.size) return FALSE;
+ *len = min( tag.size - offset, *len );
+ memcpy( profile->data + tag.offset + offset, buffer, *len );
+ return TRUE;
}
-void MSCMS_set_tag_data( icProfile *iccprofile, const icTag *tag, DWORD offset, const
void *buffer )
-{
- memcpy( (char *)iccprofile + tag->offset + offset, buffer, tag->size - offset
);
-}
-
-DWORD MSCMS_get_profile_size( const icProfile *iccprofile )
-{
- DWORD size = ((const icHeader *)iccprofile)->size;
-
- MSCMS_adjust_endianness32( &size );
- return size;
-}
-
-#endif /* HAVE_LCMS */
+#endif /* HAVE_LCMS2 */
Modified: trunk/reactos/dll/win32/mscms/mscms_main.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mscms/mscms_main…
==============================================================================
--- trunk/reactos/dll/win32/mscms/mscms_main.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/mscms/mscms_main.c [iso-8859-1] Sat Sep 21 20:43:42 2013
@@ -36,20 +36,10 @@
WINE_DEFAULT_DEBUG_CHANNEL(mscms);
-#ifdef HAVE_LCMS
-static int lcms_error_handler( int error, const char *text )
+#ifdef HAVE_LCMS2
+static void lcms_error_handler(cmsContext ctx, cmsUInt32Number error, const char *text)
{
- switch (error)
- {
- case LCMS_ERRC_WARNING:
- case LCMS_ERRC_RECOVERABLE:
- case LCMS_ERRC_ABORTED:
- WARN("%d %s\n", error, debugstr_a(text));
- return 1;
- default:
- ERR("unknown error %d %s\n", error, debugstr_a(text));
- return 0;
- }
+ TRACE("%u %s\n", error, debugstr_a(text));
}
#endif
@@ -61,12 +51,13 @@
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls( hinst );
-#ifdef HAVE_LCMS
- cmsSetErrorHandler( lcms_error_handler );
+#ifdef HAVE_LCMS2
+ cmsSetLogErrorHandler( lcms_error_handler );
#endif
break;
case DLL_PROCESS_DETACH:
-#ifdef HAVE_LCMS
+ if (reserved) break;
+#ifdef HAVE_LCMS2
free_handle_tables();
#endif
break;
Modified: trunk/reactos/dll/win32/mscms/mscms_priv.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mscms/mscms_priv…
==============================================================================
--- trunk/reactos/dll/win32/mscms/mscms_priv.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/mscms/mscms_priv.h [iso-8859-1] Sat Sep 21 20:43:42 2013
@@ -18,54 +18,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#ifdef HAVE_LCMS
-
-/* These basic Windows types are defined in lcms.h when compiling on
- * a non-Windows platform (why?), so they would normally not conflict
- * with anything included earlier. But since we are building Wine they
- * most certainly will have been defined before we include lcms.h.
- * The preprocessor comes to the rescue.
- */
-
-#define BYTE LCMS_BYTE
-#define LPBYTE LCMS_LPBYTE
-#define WORD LCMS_WORD
-#define LPWORD LCMS_LPWORD
-#define DWORD LCMS_DWORD
-#define LPDWORD LCMS_LPDWORD
-#define BOOL LCMS_BOOL
-#define LPSTR LCMS_LPSTR
-#define LPVOID LCMS_LPVOID
-
-#undef cdecl
-#undef FAR
-
-#undef ZeroMemory
-#undef CopyMemory
-
-#undef LOWORD
-#undef HIWORD
-#undef MAX_PATH
-
-#ifdef HAVE_LCMS_LCMS_H
-#include <lcms/lcms.h>
-#else
-#include <lcms.h>
-#endif
-
-/* Funny thing is lcms.h defines DWORD as an 'unsigned long' whereas Wine
- * defines it as an 'unsigned int'. To avoid compiler warnings we use a
- * preprocessor define for DWORD and LPDWORD to get back Wine's original
- * (typedef) definitions.
- */
-
-#undef BOOL
-#undef DWORD
-#undef LPDWORD
-
-#define BOOL BOOL
-#define DWORD DWORD
-#define LPDWORD LPDWORD
+#ifdef HAVE_LCMS2
+#include <lcms2.h>
/* A simple structure to tie together a pointer to an icc profile, an lcms
* color profile handle and a Windows file handle. If the profile is memory
@@ -76,9 +30,10 @@
struct profile
{
- HANDLE file;
- DWORD access;
- icProfile *iccprofile;
+ HANDLE file;
+ DWORD access;
+ char *data;
+ DWORD size;
cmsHPROFILE cmsprofile;
};
@@ -101,14 +56,11 @@
extern void free_handle_tables( void ) DECLSPEC_HIDDEN;
-extern DWORD MSCMS_get_tag_count( const icProfile *iccprofile ) DECLSPEC_HIDDEN;
-extern void MSCMS_get_tag_by_index( icProfile *iccprofile, DWORD index, icTag *tag )
DECLSPEC_HIDDEN;
-extern void MSCMS_get_tag_data( const icProfile *iccprofile, const icTag *tag, DWORD
offset, void *buffer ) DECLSPEC_HIDDEN;
-extern void MSCMS_set_tag_data( icProfile *iccprofile, const icTag *tag, DWORD offset,
const void *buffer ) DECLSPEC_HIDDEN;
-extern void MSCMS_get_profile_header( const icProfile *iccprofile, PROFILEHEADER *header
) DECLSPEC_HIDDEN;
-extern void MSCMS_set_profile_header( icProfile *iccprofile, const PROFILEHEADER *header
) DECLSPEC_HIDDEN;
-extern DWORD MSCMS_get_profile_size( const icProfile *iccprofile ) DECLSPEC_HIDDEN;
+extern BOOL get_tag_data( const struct profile *, TAGTYPE, DWORD, void *, DWORD * )
DECLSPEC_HIDDEN;
+extern BOOL set_tag_data( const struct profile *, TAGTYPE, DWORD, const void *, DWORD * )
DECLSPEC_HIDDEN;
+extern void get_profile_header( const struct profile *, PROFILEHEADER * )
DECLSPEC_HIDDEN;
+extern void set_profile_header( const struct profile *, const PROFILEHEADER * )
DECLSPEC_HIDDEN;
-#endif /* HAVE_LCMS */
+#endif /* HAVE_LCMS2 */
-extern const char *MSCMS_dbgstr_tag(DWORD) DECLSPEC_HIDDEN;
+extern const char *dbgstr_tag(DWORD) DECLSPEC_HIDDEN;
Modified: trunk/reactos/dll/win32/mscms/profile.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mscms/profile.c?…
==============================================================================
--- trunk/reactos/dll/win32/mscms/profile.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/mscms/profile.c [iso-8859-1] Sat Sep 21 20:43:42 2013
@@ -37,17 +37,15 @@
//#include "mscms_priv.h"
-#define IS_SEPARATOR(ch) ((ch) == '\\' || (ch) == '/')
-
-static void MSCMS_basename( LPCWSTR path, LPWSTR name )
+static void basename( LPCWSTR path, LPWSTR name )
{
INT i = lstrlenW( path );
- while (i > 0 && !IS_SEPARATOR(path[i - 1])) i--;
+ while (i > 0 && path[i - 1] != '\\' && path[i - 1] !=
'/') i--;
lstrcpyW( name, &path[i] );
}
-static inline LPWSTR MSCMS_strdupW( LPCSTR str )
+static inline LPWSTR strdupW( LPCSTR str )
{
LPWSTR ret = NULL;
if (str)
@@ -59,7 +57,7 @@
return ret;
}
-const char *MSCMS_dbgstr_tag( DWORD tag )
+const char *dbgstr_tag( DWORD tag )
{
return wine_dbg_sprintf( "'%c%c%c%c'",
(char)(tag >> 24), (char)(tag >> 16), (char)(tag >> 8),
(char)(tag) );
@@ -138,7 +136,7 @@
}
RegCreateKeyExW( HKEY_LOCAL_MACHINE, icmW, 0, NULL, 0, KEY_ALL_ACCESS, NULL,
&icm_key, NULL );
- MSCMS_basename( file, basenameW );
+ basename( file, basenameW );
sprintfW( classW, fmtW, (header.phClass >> 24) & 0xff, (header.phClass
>> 16) & 0xff,
(header.phClass >> 8) & 0xff, header.phClass &
0xff );
@@ -339,10 +337,8 @@
PVOID buffer, PBOOL ref )
{
BOOL ret = FALSE;
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
struct profile *profile = grab_profile( handle );
- DWORD i, count;
- icTag tag;
TRACE( "( %p, 0x%08x, %d, %p, %p, %p )\n", handle, type, offset, size,
buffer, ref );
@@ -353,30 +349,17 @@
release_profile( profile );
return FALSE;
}
- count = MSCMS_get_tag_count( profile->iccprofile );
-
- for (i = 0; i < count; i++)
- {
- MSCMS_get_tag_by_index( profile->iccprofile, i, &tag );
-
- if (tag.sig == type)
- {
- if ((tag.size - offset) > *size || !buffer)
- {
- *size = (tag.size - offset);
- release_profile( profile );
- return FALSE;
- }
- MSCMS_get_tag_data( profile->iccprofile, &tag, offset, buffer );
-
- *ref = FALSE; /* FIXME: calculate properly */
- release_profile( profile );
- return TRUE;
- }
- }
+ if (!get_tag_data( profile, type, offset, buffer, size ))
+ {
+ release_profile( profile );
+ return FALSE;
+ }
+ ret = get_tag_data( profile, type, offset, buffer, size );
+ *ref = cmsTagLinkedTo( profile->cmsprofile, type ) != 0;
release_profile( profile );
-
-#endif /* HAVE_LCMS */
+ return ret;
+
+#endif /* HAVE_LCMS2 */
return ret;
}
@@ -401,10 +384,10 @@
BOOL WINAPI GetColorProfileElementTag( HPROFILE handle, DWORD index, PTAGTYPE type )
{
BOOL ret = FALSE;
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
struct profile *profile = grab_profile( handle );
- DWORD count;
- icTag tag;
+ cmsInt32Number num_tags;
+ cmsTagSignature sig;
TRACE( "( %p, %d, %p )\n", handle, index, type );
@@ -415,19 +398,20 @@
release_profile( profile );
return FALSE;
}
- count = MSCMS_get_tag_count( profile->iccprofile );
- if (index > count || index < 1)
+ num_tags = cmsGetTagCount( profile->cmsprofile );
+ if (num_tags < 0 || index > num_tags || index < 1)
{
release_profile( profile );
return FALSE;
}
- MSCMS_get_tag_by_index( profile->iccprofile, index - 1, &tag );
- *type = tag.sig;
-
+ if ((sig = cmsGetTagSignature( profile->cmsprofile, index - 1 )))
+ {
+ *type = sig;
+ ret = TRUE;
+ }
release_profile( profile );
- ret = TRUE;
-
-#endif /* HAVE_LCMS */
+
+#endif /* HAVE_LCMS2 */
return ret;
}
@@ -452,7 +436,7 @@
BOOL WINAPI GetColorProfileFromHandle( HPROFILE handle, PBYTE buffer, PDWORD size )
{
BOOL ret = FALSE;
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
struct profile *profile = grab_profile( handle );
PROFILEHEADER header;
@@ -465,7 +449,7 @@
release_profile( profile );
return FALSE;
}
- MSCMS_get_profile_header( profile->iccprofile, &header );
+ get_profile_header( profile, &header );
if (!buffer || header.phSize > *size)
{
@@ -475,13 +459,13 @@
}
/* No endian conversion needed */
- memcpy( buffer, profile->iccprofile, header.phSize );
- *size = header.phSize;
+ memcpy( buffer, profile->data, profile->size );
+ *size = profile->size;
release_profile( profile );
ret = TRUE;
-#endif /* HAVE_LCMS */
+#endif /* HAVE_LCMS2 */
return ret;
}
@@ -503,7 +487,7 @@
*/
BOOL WINAPI GetColorProfileHeader( HPROFILE handle, PPROFILEHEADER header )
{
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
struct profile *profile = grab_profile( handle );
TRACE( "( %p, %p )\n", handle, header );
@@ -515,14 +499,13 @@
release_profile( profile );
return FALSE;
}
- MSCMS_get_profile_header( profile->iccprofile, header );
-
+ get_profile_header( profile, header );
release_profile( profile );
return TRUE;
#else
return FALSE;
-#endif /* HAVE_LCMS */
+#endif /* HAVE_LCMS2 */
}
/******************************************************************************
@@ -542,8 +525,9 @@
BOOL WINAPI GetCountColorProfileElements( HPROFILE handle, PDWORD count )
{
BOOL ret = FALSE;
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
struct profile *profile = grab_profile( handle );
+ cmsInt32Number num_tags;
TRACE( "( %p, %p )\n", handle, count );
@@ -554,12 +538,14 @@
release_profile( profile );
return FALSE;
}
- *count = MSCMS_get_tag_count( profile->iccprofile );
-
+ if ((num_tags = cmsGetTagCount( profile->cmsprofile )) >= 0)
+ {
+ *count = num_tags;
+ ret = TRUE;
+ }
release_profile( profile );
- ret = TRUE;
-
-#endif /* HAVE_LCMS */
+
+#endif /* HAVE_LCMS2 */
return ret;
}
@@ -684,7 +670,7 @@
return TRUE;
}
-static BOOL MSCMS_header_from_file( LPCWSTR file, PPROFILEHEADER header )
+static BOOL header_from_file( LPCWSTR file, PPROFILEHEADER header )
{
BOOL ret;
PROFILE profile;
@@ -726,7 +712,7 @@
return ret;
}
-static BOOL MSCMS_match_profile( PENUMTYPEW rec, PPROFILEHEADER hdr )
+static BOOL match_profile( PENUMTYPEW rec, PPROFILEHEADER hdr )
{
if (rec->dwFields & ET_DEVICENAME)
{
@@ -747,36 +733,36 @@
}
if (rec->dwFields & ET_DEVICECLASS)
{
- FIXME( "ET_DEVICECLASS: %s\n", MSCMS_dbgstr_tag(rec->dwMediaType)
);
+ FIXME( "ET_DEVICECLASS: %s\n", dbgstr_tag(rec->dwMediaType) );
}
if (rec->dwFields & ET_CMMTYPE)
{
- TRACE( "ET_CMMTYPE: %s\n", MSCMS_dbgstr_tag(rec->dwCMMType) );
+ TRACE( "ET_CMMTYPE: %s\n", dbgstr_tag(rec->dwCMMType) );
if (rec->dwCMMType != hdr->phCMMType) return FALSE;
}
if (rec->dwFields & ET_CLASS)
{
- TRACE( "ET_CLASS: %s\n", MSCMS_dbgstr_tag(rec->dwClass) );
+ TRACE( "ET_CLASS: %s\n", dbgstr_tag(rec->dwClass) );
if (rec->dwClass != hdr->phClass) return FALSE;
}
if (rec->dwFields & ET_DATACOLORSPACE)
{
- TRACE( "ET_DATACOLORSPACE: %s\n",
MSCMS_dbgstr_tag(rec->dwDataColorSpace) );
+ TRACE( "ET_DATACOLORSPACE: %s\n", dbgstr_tag(rec->dwDataColorSpace)
);
if (rec->dwDataColorSpace != hdr->phDataColorSpace) return FALSE;
}
if (rec->dwFields & ET_CONNECTIONSPACE)
{
- TRACE( "ET_CONNECTIONSPACE: %s\n",
MSCMS_dbgstr_tag(rec->dwConnectionSpace) );
+ TRACE( "ET_CONNECTIONSPACE: %s\n",
dbgstr_tag(rec->dwConnectionSpace) );
if (rec->dwConnectionSpace != hdr->phConnectionSpace) return FALSE;
}
if (rec->dwFields & ET_SIGNATURE)
{
- TRACE( "ET_SIGNATURE: %s\n", MSCMS_dbgstr_tag(rec->dwSignature) );
+ TRACE( "ET_SIGNATURE: %s\n", dbgstr_tag(rec->dwSignature) );
if (rec->dwSignature != hdr->phSignature) return FALSE;
}
if (rec->dwFields & ET_PLATFORM)
{
- TRACE( "ET_PLATFORM: %s\n", MSCMS_dbgstr_tag(rec->dwPlatform) );
+ TRACE( "ET_PLATFORM: %s\n", dbgstr_tag(rec->dwPlatform) );
if (rec->dwPlatform != hdr->phPlatform) return FALSE;
}
if (rec->dwFields & ET_PROFILEFLAGS)
@@ -786,12 +772,12 @@
}
if (rec->dwFields & ET_MANUFACTURER)
{
- TRACE( "ET_MANUFACTURER: %s\n",
MSCMS_dbgstr_tag(rec->dwManufacturer) );
+ TRACE( "ET_MANUFACTURER: %s\n", dbgstr_tag(rec->dwManufacturer) );
if (rec->dwManufacturer != hdr->phManufacturer) return FALSE;
}
if (rec->dwFields & ET_MODEL)
{
- TRACE( "ET_MODEL: %s\n", MSCMS_dbgstr_tag(rec->dwModel) );
+ TRACE( "ET_MODEL: %s\n", dbgstr_tag(rec->dwModel) );
if (rec->dwModel != hdr->phModel) return FALSE;
}
if (rec->dwFields & ET_ATTRIBUTES)
@@ -808,7 +794,7 @@
}
if (rec->dwFields & ET_CREATOR)
{
- TRACE( "ET_CREATOR: %s\n", MSCMS_dbgstr_tag(rec->dwCreator) );
+ TRACE( "ET_CREATOR: %s\n", dbgstr_tag(rec->dwCreator) );
if (rec->dwCreator != hdr->phCreator) return FALSE;
}
return TRUE;
@@ -857,17 +843,17 @@
memcpy( &recordW, record, sizeof(ENUMTYPEA) );
if (record->pDeviceName)
{
- deviceW = MSCMS_strdupW( record->pDeviceName );
+ deviceW = strdupW( record->pDeviceName );
if (!(recordW.pDeviceName = deviceW)) goto exit;
}
- fileW = MSCMS_strdupW( data.cFileName );
+ fileW = strdupW( data.cFileName );
if (!fileW) goto exit;
- ret = MSCMS_header_from_file( fileW, &header );
+ ret = header_from_file( fileW, &header );
if (ret)
{
- match = MSCMS_match_profile( &recordW, &header );
+ match = match_profile( &recordW, &header );
if (match)
{
len = sizeof(char) * (lstrlenA( data.cFileName ) + 1);
@@ -888,17 +874,17 @@
while (FindNextFileA( find, &data ))
{
- fileW = MSCMS_strdupW( data.cFileName );
+ fileW = strdupW( data.cFileName );
if (!fileW) goto exit;
- ret = MSCMS_header_from_file( fileW, &header );
+ ret = header_from_file( fileW, &header );
if (!ret)
{
HeapFree( GetProcessHeap(), 0, fileW );
continue;
}
- match = MSCMS_match_profile( &recordW, &header );
+ match = match_profile( &recordW, &header );
if (match)
{
char **tmp = HeapReAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
@@ -1001,10 +987,10 @@
profiles = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(WCHAR *) + 1 );
if (!profiles) goto exit;
- ret = MSCMS_header_from_file( data.cFileName, &header );
+ ret = header_from_file( data.cFileName, &header );
if (ret)
{
- match = MSCMS_match_profile( record, &header );
+ match = match_profile( record, &header );
if (match)
{
len = sizeof(WCHAR) * (lstrlenW( data.cFileName ) + 1);
@@ -1023,10 +1009,10 @@
while (FindNextFileW( find, &data ))
{
- ret = MSCMS_header_from_file( data.cFileName, &header );
+ ret = header_from_file( data.cFileName, &header );
if (!ret) continue;
- match = MSCMS_match_profile( record, &header );
+ match = match_profile( record, &header );
if (match)
{
WCHAR **tmp = HeapReAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
@@ -1129,7 +1115,7 @@
if (!GetColorDirectoryW( machine, dest, &size )) return FALSE;
- MSCMS_basename( profile, base );
+ basename( profile, base );
lstrcatW( dest, slash );
lstrcatW( dest, base );
@@ -1158,10 +1144,8 @@
BOOL WINAPI IsColorProfileTagPresent( HPROFILE handle, TAGTYPE type, PBOOL present )
{
BOOL ret = FALSE;
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
struct profile *profile = grab_profile( handle );
- DWORD i, count;
- icTag tag;
TRACE( "( %p, 0x%08x, %p )\n", handle, type, present );
@@ -1172,21 +1156,11 @@
release_profile( profile );
return FALSE;
}
- count = MSCMS_get_tag_count( profile->iccprofile );
-
- for (i = 0; i < count; i++)
- {
- MSCMS_get_tag_by_index( profile->iccprofile, i, &tag );
-
- if (tag.sig == type)
- {
- *present = ret = TRUE;
- break;
- }
- }
+ *present = cmsIsTag( profile->cmsprofile, type );
release_profile( profile );
-
-#endif /* HAVE_LCMS */
+ ret = TRUE;
+
+#endif /* HAVE_LCMS2 */
return ret;
}
@@ -1207,7 +1181,7 @@
BOOL WINAPI IsColorProfileValid( HPROFILE handle, PBOOL valid )
{
BOOL ret = FALSE;
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
struct profile *profile = grab_profile( handle );
TRACE( "( %p, %p )\n", handle, valid );
@@ -1219,10 +1193,10 @@
release_profile( profile );
return FALSE;
}
- if (profile->iccprofile) ret = *valid = TRUE;
+ if (profile->data) ret = *valid = TRUE;
release_profile( profile );
-#endif /* HAVE_LCMS */
+#endif /* HAVE_LCMS2 */
return ret;
}
@@ -1247,10 +1221,8 @@
PVOID buffer )
{
BOOL ret = FALSE;
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
struct profile *profile = grab_profile( handle );
- DWORD i, count;
- icTag tag;
TRACE( "( %p, 0x%08x, %d, %p, %p )\n", handle, type, offset, size, buffer
);
@@ -1261,28 +1233,11 @@
release_profile( profile );
return FALSE;
}
- count = MSCMS_get_tag_count( profile->iccprofile );
-
- for (i = 0; i < count; i++)
- {
- MSCMS_get_tag_by_index( profile->iccprofile, i, &tag );
-
- if (tag.sig == type)
- {
- if (offset > tag.size)
- {
- release_profile( profile );
- return FALSE;
- }
- MSCMS_set_tag_data( profile->iccprofile, &tag, offset, buffer );
-
- release_profile( profile );
- return TRUE;
- }
- }
+ ret = set_tag_data( profile, type, offset, buffer, size );
release_profile( profile );
-
-#endif /* HAVE_LCMS */
+ return ret;
+
+#endif /* HAVE_LCMS2 */
return ret;
}
@@ -1301,7 +1256,7 @@
*/
BOOL WINAPI SetColorProfileHeader( HPROFILE handle, PPROFILEHEADER header )
{
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
struct profile *profile = grab_profile( handle );
TRACE( "( %p, %p )\n", handle, header );
@@ -1313,14 +1268,13 @@
release_profile( profile );
return FALSE;
}
- MSCMS_set_profile_header( profile->iccprofile, header );
-
+ set_profile_header( profile, header );
release_profile( profile );
return TRUE;
#else
return FALSE;
-#endif /* HAVE_LCMS */
+#endif /* HAVE_LCMS2 */
}
/******************************************************************************
@@ -1441,10 +1395,11 @@
*/
HPROFILE WINAPI OpenColorProfileW( PPROFILE profile, DWORD access, DWORD sharing, DWORD
creation )
{
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
cmsHPROFILE cmsprofile = NULL;
- icProfile *iccprofile = NULL;
+ char *data = NULL;
HANDLE handle = INVALID_HANDLE_VALUE;
+ DWORD size;
TRACE( "( %p, 0x%08x, 0x%08x, 0x%08x )\n", profile, access, sharing,
creation );
@@ -1454,14 +1409,15 @@
{
/* FIXME: access flags not implemented for memory based profiles */
- if (!(iccprofile = HeapAlloc( GetProcessHeap(), 0, profile->cbDataSize )))
return NULL;
- memcpy( iccprofile, profile->pProfileData, profile->cbDataSize );
-
- cmsprofile = cmsOpenProfileFromMem( iccprofile, profile->cbDataSize );
+ if (!(data = HeapAlloc( GetProcessHeap(), 0, profile->cbDataSize ))) return
NULL;
+ memcpy( data, profile->pProfileData, profile->cbDataSize );
+
+ cmsprofile = cmsOpenProfileFromMem( data, profile->cbDataSize );
+ size = profile->cbDataSize;
}
else if (profile->dwType == PROFILE_FILENAME)
{
- DWORD size, read, flags = 0;
+ DWORD read, flags = 0;
TRACE( "profile file: %s\n", debugstr_w( profile->pProfileData ) );
@@ -1494,32 +1450,27 @@
WARN( "Unable to open color profile %u\n", GetLastError() );
return NULL;
}
-
if ((size = GetFileSize( handle, NULL )) == INVALID_FILE_SIZE)
{
ERR( "Unable to retrieve size of color profile\n" );
CloseHandle( handle );
return NULL;
}
-
- iccprofile = HeapAlloc( GetProcessHeap(), 0, size );
- if (!iccprofile)
+ if (!(data = HeapAlloc( GetProcessHeap(), 0, size )))
{
ERR( "Unable to allocate memory for color profile\n" );
CloseHandle( handle );
return NULL;
}
-
- if (!ReadFile( handle, iccprofile, size, &read, NULL ) || read != size)
+ if (!ReadFile( handle, data, size, &read, NULL ) || read != size)
{
ERR( "Unable to read color profile\n" );
CloseHandle( handle );
- HeapFree( GetProcessHeap(), 0, iccprofile );
+ HeapFree( GetProcessHeap(), 0, data );
return NULL;
}
-
- cmsprofile = cmsOpenProfileFromMem( iccprofile, size );
+ cmsprofile = cmsOpenProfileFromMem( data, size );
}
else
{
@@ -1530,16 +1481,21 @@
if (cmsprofile)
{
struct profile profile;
-
- profile.file = handle;
- profile.access = access;
- profile.iccprofile = iccprofile;
+ HPROFILE hprof;
+
+ profile.file = handle;
+ profile.access = access;
+ profile.data = data;
+ profile.size = size;
profile.cmsprofile = cmsprofile;
- return create_profile( &profile );
- }
-
-#endif /* HAVE_LCMS */
+ if ((hprof = create_profile( &profile ))) return hprof;
+ HeapFree( GetProcessHeap(), 0, data );
+ cmsCloseProfile( cmsprofile );
+ }
+ CloseHandle( handle );
+
+#endif /* HAVE_LCMS2 */
return NULL;
}
@@ -1558,11 +1514,11 @@
BOOL WINAPI CloseColorProfile( HPROFILE profile )
{
BOOL ret = FALSE;
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
TRACE( "( %p )\n", profile );
ret = close_profile( profile );
-#endif /* HAVE_LCMS */
- return ret;
-}
+#endif /* HAVE_LCMS2 */
+ return ret;
+}
Modified: trunk/reactos/dll/win32/mscms/stub.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mscms/stub.c?rev…
==============================================================================
--- trunk/reactos/dll/win32/mscms/stub.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/mscms/stub.c [iso-8859-1] Sat Sep 21 20:43:42 2013
@@ -139,21 +139,21 @@
BOOL WINAPI RegisterCMMA( PCSTR machine, DWORD id, PCSTR dll )
{
- FIXME( "( %p, %s, %p ) stub\n", machine, MSCMS_dbgstr_tag(id), dll );
+ FIXME( "( %p, %s, %p ) stub\n", machine, dbgstr_tag(id), dll );
return TRUE;
}
BOOL WINAPI RegisterCMMW( PCWSTR machine, DWORD id, PCWSTR dll )
{
- FIXME( "( %p, %s, %p ) stub\n", machine, MSCMS_dbgstr_tag(id), dll );
+ FIXME( "( %p, %s, %p ) stub\n", machine, dbgstr_tag(id), dll );
return TRUE;
}
BOOL WINAPI SelectCMM( DWORD id )
{
- FIXME( "(%s) stub\n", MSCMS_dbgstr_tag(id) );
+ FIXME( "(%s) stub\n", dbgstr_tag(id) );
return TRUE;
}
@@ -192,14 +192,14 @@
BOOL WINAPI UnregisterCMMA( PCSTR machine, DWORD id )
{
- FIXME( "( %p, %s ) stub\n", machine, MSCMS_dbgstr_tag(id) );
+ FIXME( "( %p, %s ) stub\n", machine, dbgstr_tag(id) );
return TRUE;
}
BOOL WINAPI UnregisterCMMW( PCWSTR machine, DWORD id )
{
- FIXME( "( %p, %s ) stub\n", machine, MSCMS_dbgstr_tag(id) );
-
- return TRUE;
-}
+ FIXME( "( %p, %s ) stub\n", machine, dbgstr_tag(id) );
+
+ return TRUE;
+}
Modified: trunk/reactos/dll/win32/mscms/transform.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mscms/transform.…
==============================================================================
--- trunk/reactos/dll/win32/mscms/transform.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/mscms/transform.c [iso-8859-1] Sat Sep 21 20:43:42 2013
@@ -36,14 +36,14 @@
WINE_DEFAULT_DEBUG_CHANNEL(mscms);
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
static DWORD from_profile( HPROFILE profile )
{
PROFILEHEADER header;
GetColorProfileHeader( profile, &header );
- TRACE( "color space: 0x%08x %s\n", header.phDataColorSpace,
MSCMS_dbgstr_tag( header.phDataColorSpace ) );
+ TRACE( "color space: 0x%08x %s\n", header.phDataColorSpace, dbgstr_tag(
header.phDataColorSpace ) );
switch (header.phDataColorSpace)
{
@@ -68,6 +68,8 @@
case BM_RGBTRIPLETS: return TYPE_RGB_8;
case BM_BGRTRIPLETS: return TYPE_BGR_8;
case BM_GRAY: return TYPE_GRAY_8;
+ case BM_xRGBQUADS: return TYPE_ARGB_8;
+ case BM_xBGRQUADS: return TYPE_ABGR_8;
default:
if (quietfixme == 0)
{
@@ -96,7 +98,7 @@
}
}
-#endif /* HAVE_LCMS */
+#endif /* HAVE_LCMS2 */
/******************************************************************************
* CreateColorTransformA [MSCMS.@]
@@ -141,7 +143,7 @@
HPROFILE target, DWORD flags )
{
HTRANSFORM ret = NULL;
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
struct transform transform;
struct profile *dst, *tgt = NULL;
cmsHPROFILE cmsinput, cmsoutput, cmstarget = NULL;
@@ -160,7 +162,7 @@
intent = space->lcsIntent > 3 ? INTENT_PERCEPTUAL : space->lcsIntent;
TRACE( "lcsIntent: %x\n", space->lcsIntent );
- TRACE( "lcsCSType: %s\n", MSCMS_dbgstr_tag( space->lcsCSType ) );
+ TRACE( "lcsCSType: %s\n", dbgstr_tag( space->lcsCSType ) );
TRACE( "lcsFilename: %s\n", debugstr_w( space->lcsFilename ) );
in_format = TYPE_RGB_16;
@@ -181,7 +183,7 @@
if (tgt) release_profile( tgt );
release_profile( dst );
-#endif /* HAVE_LCMS */
+#endif /* HAVE_LCMS2 */
return ret;
}
@@ -205,7 +207,7 @@
PDWORD intents, DWORD nintents, DWORD flags, DWORD cmm )
{
HTRANSFORM ret = NULL;
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
cmsHPROFILE *cmsprofiles, cmsconvert = NULL;
struct transform transform;
struct profile *profile0, *profile1;
@@ -237,7 +239,7 @@
{
/* insert a conversion profile for pairings that lcms doesn't handle */
if (out_format == TYPE_RGB_16) cmsconvert = cmsCreate_sRGBProfile();
- if (out_format == TYPE_Lab_16) cmsconvert = cmsCreateLabProfile( NULL );
+ if (out_format == TYPE_Lab_16) cmsconvert = cmsCreateLab2Profile( NULL );
}
cmsprofiles = HeapAlloc( GetProcessHeap(), 0, (nprofiles + 1) * sizeof(cmsHPROFILE)
);
@@ -263,7 +265,7 @@
release_profile( profile0 );
release_profile( profile1 );
-#endif /* HAVE_LCMS */
+#endif /* HAVE_LCMS2 */
return ret;
}
@@ -282,13 +284,13 @@
BOOL WINAPI DeleteColorTransform( HTRANSFORM handle )
{
BOOL ret = FALSE;
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
TRACE( "( %p )\n", handle );
ret = close_transform( handle );
-#endif /* HAVE_LCMS */
+#endif /* HAVE_LCMS2 */
return ret;
}
@@ -319,7 +321,7 @@
DWORD outputstride, PBMCALLBACKFN callback, ULONG data )
{
BOOL ret = FALSE;
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
struct transform *transform = grab_transform( handle );
TRACE( "( %p, %p, 0x%08x, 0x%08x, 0x%08x, 0x%08x, %p, 0x%08x, 0x%08x, %p, 0x%08x
)\n",
@@ -333,7 +335,7 @@
release_transform( transform );
ret = TRUE;
-#endif /* HAVE_LCMS */
+#endif /* HAVE_LCMS2 */
return ret;
}
@@ -357,7 +359,7 @@
BOOL WINAPI TranslateColors( HTRANSFORM handle, PCOLOR in, DWORD count,
COLORTYPE input_type, PCOLOR out, COLORTYPE output_type )
{
-#ifdef HAVE_LCMS
+#ifdef HAVE_LCMS2
BOOL ret = TRUE;
struct transform *transform = grab_transform( handle );
cmsHTRANSFORM xfrm;
@@ -462,7 +464,7 @@
release_transform( transform );
return ret;
-#else /* HAVE_LCMS */
+#else /* HAVE_LCMS2 */
return FALSE;
-#endif /* HAVE_LCMS */
-}
+#endif /* HAVE_LCMS2 */
+}
Modified: trunk/reactos/media/doc/README.WINE
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
==============================================================================
--- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original)
+++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Sat Sep 21 20:43:42 2013
@@ -108,7 +108,7 @@
reactos/dll/win32/msacm32 # Synced to Wine-1.7.1
reactos/dll/win32/msadp32.acm # Synced to Wine-1.7.1
reactos/dll/win32/mscat32 # Synced to Wine-1.7.1
-reactos/dll/win32/mscms # Synced to Wine-1.5.4
+reactos/dll/win32/mscms # Synced to Wine-1.7.1
reactos/dll/win32/mscoree # Synced to Wine-1.5.4
reactos/dll/win32/msctf # Synced to Wine-1.5.4
reactos/dll/win32/msftedit # Synced to Wine-1.5.19