[PATCH] problem with color management with mscms and gdi

Hans Leidekker hans at meelstraat.net
Sat Oct 16 07:44:56 CDT 2010


Hi Tomasz,

This patch is wrapped, unlike your first attempt were you attached the
patch.
 
>  dlls/gdi32/icm.c       |    8 ++++++--
>  dlls/mscms/transform.c |    2 ++
>  2 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/dlls/gdi32/icm.c b/dlls/gdi32/icm.c
> index 0e346ee..d75c528 100644
> --- a/dlls/gdi32/icm.c
> +++ b/dlls/gdi32/icm.c
> @@ -44,7 +44,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(icm);
>  INT WINAPI EnumICMProfilesA(HDC hdc, ICMENUMPROCA func, LPARAM 
> lparam)
>  {
>  	FIXME("%p, %p, 0x%08lx stub\n", hdc, func, lparam);
> -	return -1;
> +	(*func)("C:
> \\windows\\system32\\spool\\drivers\\color\\monitor.icc",lparam);
> +	FIXME("partially fixed: force C:
> \\windows\\system32\\spool\\drivers\\color\\monitor.icc\n");
> +	return 1;
>  }

You can't hardcode the filename like that. EnumICMProfiles should
call down into the driver and probably enumerate a registry key.

>  /**********************************************************************
> diff --git a/dlls/mscms/transform.c b/dlls/mscms/transform.c
> index a795386..e7a3faa 100644
> --- a/dlls/mscms/transform.c
> +++ b/dlls/mscms/transform.c
> @@ -65,6 +65,8 @@ static DWORD from_bmformat( BMFORMAT format )
>      {
>      case BM_RGBTRIPLETS: return TYPE_RGB_8;
>      case BM_BGRTRIPLETS: return TYPE_BGR_8;
> +    case BM_xRGBQUADS:   return TYPE_RGBA_8;
> +    case BM_xBGRQUADS:   return TYPE_ABGR_8;     
>      case BM_GRAY:        return TYPE_GRAY_8;
>      default:
>          if (quietfixme == 0)

You should send this as a separate patch.






More information about the wine-devel mailing list