<div dir="ltr">David,<div><br></div><div>   thanks so much for addressing this arcana so promptly!  </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Mar 21, 2015 at 12:04 PM, David T. Lewis <span dir="ltr">&lt;<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sat, Mar 21, 2015 at 12:21:09PM -0400, David T. Lewis wrote:<br>
&gt; On Fri, Mar 20, 2015 at 10:07:45AM -0700, Marcel Taeumel wrote:<br>
&gt; &gt; Hmm... I just realized that the instance variable in the UIManager is always<br>
&gt; &gt; nil in my images. Seems that the &quot;new&quot; initialization code was never<br>
&gt; &gt; executed in a migration script.<br>
&gt; &gt;<br>
&gt; &gt; Please make sure that the logic of #findDefault in ToolBuilder does not get<br>
&gt; &gt; broken. There, you can create subclasses and use those as tool builders.<br>
&gt; &gt; Using this fix, subclassing would not work anymore.<br>
&gt; &gt;<br>
&gt;<br>
&gt; I put another update in the inbox. The #findDefault logic is now used to<br>
&gt; find the ToolBuilder class to use, and this normally happens the first time<br>
&gt; that a ToolBuiilder is needed in a new Project. The mechanism should now<br>
&gt; work as before, but the UIManager no longer needs to have a dedicated<br>
&gt; ToolBuilder instance.<br>
&gt;<br>
<br>
I should note for the record that I am the person who added the #toolBuilder<br>
instance variable a few years ago. At the time, I did not notice the side<br>
effect of garbage accumulating in the tool builder&#39;s registry. Hopefully<br>
the changes in the inbox will make it right.<br>
<br>
For background, here is where that original set of changes were made:<br>
<br>
  Name: ToolBuilder-Kernel-dtl.46<br>
  Author: dtl<br>
  Time: 5 March 2011, 1:05:35.352 pm<br>
<br>
  A Project has a UIManager, and a UIManager has a ToolBuilder, so add<br>
  #toolBuilder ivar to UIManager and initialize accordingly. This<br>
  facilitates setting up the appropriate UIManager and ToolBuilder to<br>
  allow SMxMorphicProject to host a SimpleMorphic world.<br>
<br>
  Change Toolbuilder class&gt;&gt;default to always ask the default UI<br>
  manager for its tool builder. Remove class var Default (this was<br>
  provided in the ToolBuilder package but never used in Squeak).<br>
  Deprecate ToolBuilder class&gt;&gt;default:<br>
<br>
  Background: In previous Squeak usage, ToolBuilder class&gt;&gt;default always<br>
  invoked a search for the appropriate ToolBuilder subclass, and class var<br>
  Default was unused (this is awkward if more than one kind of ToolBuilder<br>
  could be used in a project that #isMorphic). This change makes the default<br>
  tool builder an explicit attibute of the active UI manager.<br>
<br>
Dave<br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">best,<div>Eliot</div></div>
</div>