Karl Ramberg uploaded a new version of Etoys to project Etoys: http://source.squeak.org/etoys/Etoys-kfr.23.mcz
==================== Summary ====================
Name: Etoys-kfr.23 Author: kfr Time: 16 June 2010, 6:11:42 pm UUID: 837fc62e-acb1-8843-8280-77ca6bdf79bc Ancestors: Etoys-kfr.22
Trying to solve http://tracker.squeakland.org/browse/SQ-660
Change Variable Type to "Patch" throws "Message Not Understood" error
This fix removes the #Patch slot type for all but KedamaMorphs.
I guess Yoshiki must look at this error for a real fix.
=============== Diff against Etoys-kfr.22 ===============
Item was changed: ----- Method: Player>>chooseSlotTypeFor: (in category 'slots-user') ----- chooseSlotTypeFor: aGetter "Let the user designate a type for the slot associated with the given getter"
| typeChoices typeChosen slotName | slotName _ Utilities inherentSelectorForGetter: aGetter. + typeChoices _ Vocabulary typeChoices asOrderedCollection. + [self costume renderedMorph defaultPatch] on:Exception do:[ typeChoices remove: #Patch ifAbsent: [typeChoices]]. - typeChoices _ Vocabulary typeChoices. typeChosen _ (SelectionMenu labelList: (typeChoices collect: [:t | t translated]) lines: #() selections: typeChoices) startUpWithCaption: ('Choose the TYPE for {1} ' translated, slotName, ' (currently {2})' translated format: {slotName. (self slotInfoAt: slotName) type translated}). typeChosen isEmptyOrNil ifTrue: [^ self]. (self typeForSlot: slotName) capitalized = typeChosen ifTrue: [^ self].
(self slotInfoAt: slotName) type: typeChosen. self class allInstancesDo: "allSubInstancesDo:" [:anInst | anInst instVarNamed: slotName asString put: (anInst valueOfType: typeChosen from: (anInst instVarNamed: slotName))]. self updateAllViewers. "does siblings too" + self changeTypesInWatchersOf: slotName. "does siblings too" + - self changeTypesInWatchersOf: slotName "does siblings too" !
etoys-dev@lists.squeakfoundation.org