When we use an object and not a model the dependents are stored in a global dictionary or structure and our goal is to remove it :) Stef On 21/8/14 09:57, Thierry Goubier wrote:
2014-08-21 9:44 GMT+02:00 phil@highoctane.be <mailto:phil@highoctane.be> <phil@highoctane.be <mailto:phil@highoctane.be>>:
I had a look at dependents.
I see code in Object and Model which looks like quite close.
And also the comment in Model says: Provides a superclass for classes that function as models. The only behavior provided is fast dependents maintenance, which bypasses the generic DependentsFields mechanism. 1/23/96 sw
Is there a place where I can read more about that and/or can someone provide a quick explanation?
From memory and use of other smalltalks (VisualWorks): Model provides an instance variable for storing dependents (which are then non-weak), Object instances use a global, weak array.
At least, this is how I use them.
I allways have worries about discarding objects with dependencies (Morphs, models) and creating memory leaks that way.
Thierry
TIA Phil
On Thu, Aug 21, 2014 at 9:22 AM, Oscar Nierstrasz <oscar.nierstrasz@gmail.com <mailto:oscar.nierstrasz@gmail.com>> wrote:
Right. I should have realized that.
I was looking for a replacement for:
Transcript closeAllViews
which has disappeared in Pharo 3.0. So this seems to work:
(Transcript dependents select: #isSystemWindow) do: #close
Thanks, Oscar
On 20 Aug 2014, at 17:59 , Camille Teruel <camille.teruel@gmail.com <mailto:camille.teruel@gmail.com>> wrote:
> Hi Oscar, > > It's because Transcript is only one instance of ThreadSafeTranscript. > 'Transcript open' doesn't create a new instance but opens a new window on that instance. > > Camille > > On 20 août 2014, at 17:30, Oscar Nierstrasz (gmail) <oscar.nierstrasz@gmail.com <mailto:oscar.nierstrasz@gmail.com>> wrote: > >> >> In the latest Pharo 3 for Mac: >> >> Transcript open. >> Transcript open. >> Transcript class allInstances inspect >> >> only shows one instance, not two. >> >> Why? >> >> Oscar >> > >