|
From: | Wolfgang Lux |
Subject: | Re: Next GNUstep release? |
Date: | Sun, 28 Mar 2010 22:45:56 +0200 |
Gregory Casamento wrote:
Top level objects in the nib are the responsibility of the controller. That is to say that if you load a nib from MyController then any and all top level objects in that nib should be released by MyController when it deallocates itself.
Indeed. What I tried to point out (but maybe failed to do properly) is that GNUstep does not implement this policy when the controller explicitly asks for the top level objects using the NS(Nib) TopLevelObjects key. If one uses that key, GNUstep passes ownership of the top level objects exclusively to the array that is used to return the objects and when the controller releases the top level objects, the application will crash. In fact, it is even documented in the code that GSNibLoading and GSGormLoading are implemented that way. However, this is incompatible with both Apple's documentation and implementation. Attached below is a patch to fix GSGormLoading. A similar change will be necessary in GSNibLoading.
Wolfgang
GSGormLoading.patch
Description: Binary data
[Prev in Thread] | Current Thread | [Next in Thread] |