On Nov 16, 2011, at 3:08 AM, Stefan Werner wrote:

> 
> On 14.11.2011, at 19:20, Quincey Morris wrote:
> 
>> Don't follow the advice to define 
>> NSWindowCollectionBehaviorFullScreenPrimary yourself. It's really, really 
>> dangerous to replicate a fragment of one SDK in a build against an earlier 
>> SDK. What if the value changes in a later 10.7.x SDK, or if the value is 
>> invalidated in some way you can't foresee?
> 
> If that value changed in a later SDK, it would break binary compatibility. 
> While I strongly suggest against replicating SDK code in your own code for 
> the reason you're giving, it does not apply in this case.
> 
> Any application compiled today will have a constant number in place of 
> NSWindowCollectionBehaviorFullScreenPrimary. If the OS at some point changes 
> the meaning of that number, it will break all applications compiled before 
> that date.

Not necessarily.

There are a number of places where the frameworks check to see what SDK you 
link against to determine what behavior you get, just so that old apps (which 
are then linked against older SDKs) continue to work as they did, but new/fixed 
behavior is exhibited when linked against current SDKs.

So it could happen that, when X+1 is released, anything that links against X 
gets the old interpretation of a flag (first implemented in version X), but if 
you link against X+1 you get the new one.  And if you actually link against X-1 
(and manually add that flag from the X SDK) who knows what you'll get.  
Unlikely, but I wouldn't be surprised if this sort of thing hasn't bitten 
somebody at some point... (though probably with things like side effects of 
methods, and not different interpretations of constant flags)



Glenn Andreas                      [email protected] 
The most merciful thing in the world ... is the inability of the human mind to 
correlate all its contents - HPL

_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to