<br><br><div class="gmail_quote">On Sun, May 20, 2012 at 12:59 PM, Chris Muller <span dir="ltr">&lt;<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
That field is used to get focus back to where you were.<br>
<br>
   - editing in a code-pane somewhere..<br>
   - press Control+1 to invoke the Squeak menu.<br>
   - press ESC because I changed my mind.<br>
   - focus is back to where I was without ever having touched the mouse.<br>
<br>
There are several places where the system latches on to objects<br>
unexpectedly like this.<br>
<br>
Normal usage of the system can&#39;t know whether its referencing a<br>
&quot;large&quot; object.  If you are feeling annoyed by presence of large<br>
objects, then I think that should be addressed by a separate use-case<br>
-- an explicit cleanUp operation.<br></blockquote><div><br></div><div>That&#39;s what I&#39;m suggesting.  IMO, when a morph is deleted from the world then the places that could hold onto it should be notified and drop their references.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
On Sun, May 20, 2012 at 12:06 PM, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt; wrote:<br>
&gt; Hi All,<br>
&gt;<br>
&gt;    through a combination of the windows menu and oldKeyboardFocus and<br>
&gt; oldMouseFocus the DockingBarMorph holds onto closed windows.  Repeat by e.g.<br>
&gt;<br>
&gt; - inspect a new instance of some class that has no instances (ZeroDivide<br>
&gt; works for me).<br>
&gt;<br>
&gt; - Click on the Windows menu to populate it (it should include the ZeroDivide<br>
&gt; inspector).<br>
&gt;<br>
&gt; - Close the inspector, run the GC (e.g. ask for space left).<br>
&gt;<br>
&gt; - Then check the class&#39;s instance count (ZeroDivide instanceCount).  Should<br>
&gt; be non-zero.<br>
&gt;<br>
&gt; - Inspect the instance (ZeroDivide allInstances inspect) and do chase<br>
&gt; pointers and you&#39;ll get a reference back through the DockingBarMorph:<br>
&gt;<br>
&gt; globals: SystemDictionary<br>
&gt; #World -&gt; PasteUpMorph<br>
&gt; submorphs: Array<br>
&gt; 2: DockingBarMorph<br>
&gt; oldKeyboardFocus: TextMorphForEditView<br>
&gt; editView: PluggableTextMorphPlus<br>
&gt; model: Inspector<br>
&gt; object: ZeroDivide<br>
&gt;<br>
&gt; - To clear, open the WIndows menu again (which now doesn&#39;t show the closed<br>
&gt; inspector) and run GC.  Now check instanceCount and it is back to zero.<br>
&gt;<br>
&gt; This is annoying because it can hold onto large objects.  I guess when<br>
&gt; morphs are deleted from the world they ought to clear themselves from the<br>
&gt; DockingBarMorph.  But I&#39;m a bit nervous about making such a change, and<br>
&gt; hence thought I&#39;d run it by the list first.<br>
&gt; --<br>
&gt; best,<br>
&gt; Eliot<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div><br>