Because of the ongoing discussion about ABI stability I would like to discuss two small changes on this mailing list before I make them.
One is rather a bug fix, in GNUstep the method [NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] replaces a nil value for expiration with distantFuture. if (!expiration) expiration = [NSDate distantFuture]; The Apple documentation states that this should be handled as distantPast, in old Apple and the original OpenStep specification the behaviour was not explicitly stated. This difference makes it harder to port applications that rely on the default behaviour between the two systems. In gui I already have adopted all callers of that method to supply an explicit argument. All GNUstep applications that don't do so may need some adoption. The other change is to give up a special behaviour in GNUstep. Apple documents that calls to [NSView setNeedsDisplay:] (and setNeedsDisplayInRect:) only work as expected on the main thread. GNUstep has some code that lets these methods do their work on a secondary thread as well. I suggest to remove this code and to stick with the Apple limitation. In exchange we should try to get the actual drawing code that works in a secondary thread on Apple to function that way on GNUstep as well. The main argument for this change is again that it will lead to applications being developed in a non-portable way and we also avoid a lot of overhead in these frequently called methods. Fred _______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev