System information

been fixed. (r. 2800050).
Carbon WindowRefs for Cocoa NSWindows (created using -initWithWindowRef:) now have their regions maintained
correctly as the Cocoa window resizes and moves on the screen. (r. 2769632).
NSOutlineView has had its row limit of 32767 children in an item removed. (r. 2761925).
A problem where a drawer associated with a utility window overlapping another utility window could be displayed
with the wrong window has been corrected (r. 2659187).
Tooltip rects are now clipped to the visible frame of their view's parent scroll view. (r. 2565501).
Calling NSButton setKeyEquivalent will now cause the default button to be displayed in the "default" key manner.
(r. 2450365).
In some situations, NSTableView used to incorrectly call the willDisplayCell: delegate method before setting the
cells object value with setObjectValue:. This has been fixed. NSTableView should now always set the object value of
the cell first before sending it's delegate the willDisplayCell: delegate message. (r. 2362114).
In some cases, AppKit did not send a mouseExited event the first time the mouse was moved outside a tracking rect.
This problem has been corrected. (r. 2480290).
Back to top
Core Foundation
Core Foundation is a set of APIs used as a common data and service abstraction layer for other high level software facilities
in Mac OS X. Please refer to CoreFoundation release notes
(file:///Developer/Documentation/ReleaseNotes/CoreFoundation.html on your 10.2 system) for more details.
CFPreferences
Preference Services allows you to store values that are associated with a key that can later be used to look up the
preference value when you need it. Key/value pairs are assigned a scope using a combination of user name, application ID,
and host (computer) name.
In order to better support operation in a managed environment, a new API has been added to CFPreferences: Boolean
CFPreferencesAppValueIsForced(CFStringRef key, CFStringRef applicationID); Developers may call this to
determine the user's ability to change the value for a given preference key. If a key is "forced" then developers
should disable UI appropriate to changing the value. Previously, there was no mechanism to determine if a value
was forced for a particular key. (r. 2889315).
Back to top
CFStream
CFReadStream and CFWriteStream are abstractions of one-way byte streams that are used much as file descriptors are
used in POSIX. They can be created to or from files, sockets, or memory; CFNetwork defines other useful kinds of streams.
Async notification of dynamic store changes has been added, meaning that an event-based socket stream that has a
link go dead will receive an error event indicating a dead connection. All socket streams by default are opted into
the auto-erroring. (r. 2705758).
Property names and values have been added to CFNetwork/CFSocketStream.h for manipulating SOCKS proxies.
These include support for SOCKS4 and SOCKS5. (r. 2705566).
CFReadStreams and CFWriteStreams created to/from a host no longer block in open looking up the host's IP
address; instead, the lookup is done asynchronously, and the call to CFReadStreamOpen (or CFWriteStreamOpen)
returns immediately. (r. 2683774).
Socket reading I/O performance has been improved. (r. 2938957).
Back to top
CFString