<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Great! and thanks for the listing (I
keep forgetting to save my workspace code from the videos :-/)<br>
<br>
Am I right in thinking this really shouldn't permanently lock
things up , even though its an obvious bug in my code?<br>
<br>
It would be a common noob mistake and pretty awful to have happen
as your first encounter with a Squeak bug.<br>
<br>
L<br>
<br>
On 4/15/14, 3:19 PM, gettimothy wrote:<br>
</div>
<blockquote
cite="mid:145676f4b0a.5941926092633634419.-2724115763750180650@zoho.com"
type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<div
style="font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;">
<div>First, thanks for an awesome vid. Very informative.<br>
</div>
<div><br>
</div>
<div><br>
<blockquote style="border-top-color: rgb(204, 204, 204);
border-left-color: rgb(204, 204, 204); border-right-color:
rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204);
border-top-width: 1px; border-left-width: 1px;
border-right-width: 1px; border-bottom-width: 1px;
border-top-style: solid; border-left-style: solid;
border-right-style: solid; border-bottom-style: solid;
padding-top: 7px; padding-right: 7px; padding-bottom: 7px;
padding-left: 7px; background-color: rgb(245, 245, 245);">
<div>|myMorphs|<br>
myMorphs := Array new: 360.<br>
0 to: 359 by:15 do:[:i | myMorphs at: i+1
put:((NCCurveMorph new) extent: 20@20; <br>
openInWorld; <br>
center: (450@330) + (300 *((i degreesToRadians cos)@(i
degreesToRadians sin))); yourself)].<br>
<br>
<br>
1 to:(myMorphs size - 1) do:[:i | <br>
i+1 to: myMorphs size do:[:j | <br>
((myMorphs at:i ) ~= nil and:(myMorphs at:j ) ~= nil) <br>
ifTrue:[NCAAConnectorMorph fromMorph: (myMorphs at:i)
toMorph:(myMorphs at:j)]]]<br>
<br>
"tty Debug Lock"<br>
NCAAConnectorMorph allInstances do:[:each | each
lock:True]. "This locks it"</div>
<div>NCAAConnectorMorph allInstances inspect.
"about 285 instances"<br>
Transcript clear.<br>
NCAAConnectorMorph allInstances do:[:each | Transcript
show: (each bounds);cr. ]. "works" </div>
<div>NCAAConnectorMorph allInstances do:[:each | Transcript
show: (each bounds);cr. each lock:true ]. "works"<br>
NCAAConnectorMorph allInstances do:[:each | each
lock:true]. "works"</div>
<div>True inspect.</div>
<div>true inspect.</div>
<div>NCAAConnectorMorph allInstances do:[:each | each
lock:(True initializedInstance)]. "works"</div>
</blockquote>
</div>
<div><br>
</div>
<div>I was able to recreate the lockup you described.</div>
<div>Changing the lock:True to lock:true (all lowercase) does
not cause the lock up.</div>
<div><br>
</div>
<div>You can work through the reasoingin with the "tty Debug
Lock" section in the above code.</div>
<div><br>
</div>
<div>If you do the two inspect statements at the bottom, you
will see you where passing the "True class" instead of the
instance "True".</div>
<div><br>
</div>
<div>cordially,</div>
<div><br>
</div>
<div>tty</div>
<div><br>
</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">
</pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Squeak from the very start (introduction to Squeak and Pharo Smalltalk for the (almost) complete and compleate beginner).
<a class="moz-txt-link-freetext" href="https://www.youtube.com/playlist?list=PL6601A198DF14788D&feature=view_all">https://www.youtube.com/playlist?list=PL6601A198DF14788D&feature=view_all</a>
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian Kernighan</pre>
</body>
</html>