[cs] morphic gets endless walkbacks on empty PhraseTileMorph

Ned Konz ned at bike-nomad.com
Sat Jul 8 20:41:40 UTC 2000


I managed to get myself into a state where I couldn't stop
getting walkbacks. If this something that needs to be fixed
the enclosed change set should fix it.

Here's what I did (in a Morphic project (2.9alpha)):

bring up viewer on morph.

* Drag "heading" phrase from viewer, drop in world.
* Open phrase tile's control menu, choose "open dragNDrop".
* Now word tiles are separate. Drag these tiles a little ways away.
* There remains a colored vertical line that was at the left of the
tiles.
* Try to drag this line.

Result is endless walkbacks, as long as the HandMorph is dragging
the little line (it may be a PhraseTileMorph):

Error: this collection is empty
Array(Object)>>error:
Array(Collection)>>errorEmptyCollection
Array(SequenceableCollection)>>first
PhraseTileMorph>>isCommand
PhraseTileMorph>>morphToDropInPasteUp:
PasteUpMorph>>morphToDropFrom:
[] in HandMorph>>dropMorphsEvent:
Array(SequenceableCollection)>>reverseDo:
HandMorph(Morph)>>submorphsReverseDo:
HandMorph>>dropMorphsEvent:
HandMorph>>handleMouseUp:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess
[] in BlockContext>>newProcess

The reason for this is that the PhraseTileMorph>>isCommand method is not
accounting for
the possibility that it has no submorphs.

The enclosed change set fixes this.

-- 
Ned Konz
currently: Stanwood, WA
email:     ned at bike-nomad.com
homepage:  http://bike-nomad.com, Perl homepage:
http://bike-nomad.com/perl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PhraseTileMorphFix-nk.1.cs
Type: application/octet-stream
Size: 1368 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20000708/d60656a9/PhraseTileMorphFix-nk.1.obj


More information about the Squeak-dev mailing list