System information

NCWNewLinkProfile no longer returns error -50 when used with big (>100kb) profiles. (r. 2897811).
Fixed bug where no error is returned for attempts to register a profile for a device at a scope outside the user's
domain. (r. 2890764).
Fixed a bug where callback proc of CMIterateColorDevices was not being called for registered devices of different
scopes. (r. 2858107).
Fixed bug where a display device would not be returned by CMIterateColorDevices unless it was registered with the
scope of kCFPreferencesAnyUser, kCFPreferencesCurrentHost. Now CMIterateColorDevices will return display
devices registered with the scope of kCFPreferencesCurrentUser, kCFPreferencesCurrentHost. (r. 2858100).
A problem where CMIterateColorDevices would always return the last device has been corrected. Now,
CMIterateColorDevices will return the correct device if more than one device is registered. (r. 2858094).
Fixed bug where CMSetDeviceProfiles returns a paremeter error (paramErr = -50) for a device registered with
the scope of kCFPreferencesCurrentUser or kCFPreferencesCurrentHost that has two registered factory profiles.
(r. 2858093).
Fixed NCMUnflattenProfile so that it will no longer return error code -4205 when asked to unflatten a profile to a
file based profile. (r. 2858082).
A problem where the count field of the CMDeviceProfileArray was not being reset to zero by calls to
CMGetDeviceFactoryProfiles for devices containing no profiles has been corrected. (r. 2858075).
Notifications of type kCMDeviceRegisteredNotification now occur when calls to CMRegisterColorDevice are made to
register a new device. (r. 2858059).
A problem in CMUpdateProfile where it could return the error code -17w when asked to update a procedure based
profile has been corrected. (r. 2857996).
Fixed a bug in CMCopyProfile where it could return the error -48 when asked to copy a path based profile to a
network volume. (r. 2857909).
A problem where attempting to create a new profile on a network volume could fail and return the result code -48
has been corrected. (r. 2857277).
A problem where under some circumstances calling CMCopyProfile to copy a profile from one file to another could
result in an invalid profile has been corrected. (r. 2855010).
CMUpdateProfile no longer returns error -4205 when asked to update a buffer based profile. (r. 2854781).
A problem where CMIterateColorDevices would return the error code -4227 when a NULL callback procedure
pointer was provided has been corrected. (r. 2854778).
Calls to CMSetDeviceDefaultProfileID specifying the id of a profile that is not registered will now return a
parameter error (paramErr = -50). (r. 2838339).
Fixed a crash that could occur when matching colors to a bitmap or matching colors to a Lab profile. (r.
2772363).
Correct dictionary of names now passed in to callback of CMIterateDeviceProfiles. (r. 2768385).
The dictionary of names passed in to the profileNames field of the CMDeviceProfileInfo parameter of the
CMIterateDeviceProfiles callback proc are no longer set to NULL when calling the CMIterateDeviceProfiles call
with flags set to cmIterateCustomDeviceProfiles. (r. 2768351).
The routine CMIterateDeviceProfiles was leaking at least 64 bytes of memory each time it is called. This memory
leak has been removed. (r. 2759292).
If a device class has multiple devices registered for it, and the default device is unregistered, a new default device
is now correctly set. (r. 2751923).
In the past, if a device class has devices registered for it with scope of kCFPreferencesCurrentUser,
kCFPreferencesAnyHost, or kCFPreferencesAnyUser, kCFPreferencesCurrentHost, but does not have devices
registered for it with the scope of kCFPreferencesCurrentUser, kCFPreferencesCurrentHost, then no defacto
default device would be set for it. Now, the defacto default device will be set for a class if class has no devices set as
such. (r. 2747577).
CMIterateDeviceProfiles no longer crashes when called with the proc parameter set to NULL. (r. 2743114).
Fixed CMGetDeviceFactoryProfiles to return the newly updated default profile id in the defaultProfID parameter.
(r. 2743028).
Fixed CMSetDeviceFactoryProfiles to return an error if you pass in illegal values in the dataVersion field and the
reserved fields of CMDeviceProfileInfo. (r. 2699519).
Error is now returned from CMSetDeviceProfiles if either the data version or the reserved fields contain illegal
values. (r. 2966779).
Fixed problem where switching between the different ColorSync Profiles wouldn't take effect for certain displays.
(r. 2859752).