[etoys-dev] Etoys: Etoys-kfr.58.mcz

commits at source.squeak.org commits at source.squeak.org
Tue May 17 11:55:30 EDT 2011


Karl Ramberg uploaded a new version of Etoys to project Etoys:
http://source.squeak.org/etoys/Etoys-kfr.58.mcz

==================== Summary ====================

Name: Etoys-kfr.58
Author: kfr
Time: 17 May 2011, 5:54:47 pm
UUID: 5ea13608-698c-8947-8414-ff08c4a1500f
Ancestors: Etoys-bf.57

If you delete an object its scripts disappear, but its watcher's remain
http://tracker.squeakland.org/browse/SQ-885

=============== Diff against Etoys-bf.57 ===============

Item was changed:
  ----- Method: Player>>noteDeletionOf:fromWorld: (in category 'customevents-misc') -----
  noteDeletionOf: aMorph fromWorld: aWorld
  	"aMorph, while pointing to me as its costumee, has been deleted"
  	"This may be too aggressive because deletion of a morph may not really mean deletion of its associated player -- in light of hoped-for multiple viewing"
  
+ 	| viewers scriptors viewerFlaps watchers |
+ 	viewers := OrderedCollection new.
+ 	viewerFlaps := OrderedCollection new.
+ 	scriptors := OrderedCollection new.
+ 	watchers := OrderedCollection new.
- 	| viewers scriptors viewerFlaps |
- 	viewers _ OrderedCollection new.
- 	viewerFlaps _ OrderedCollection new.
- 	scriptors _ OrderedCollection new.
  	aWorld allMorphs do:
  		[:m | m isAViewer ifTrue: [viewers add: m].
  			((m isKindOf: ViewerFlapTab) and: [m scriptedPlayer == self])
  				ifTrue:
  					[viewerFlaps add: m].
  			((m isKindOf: ScriptEditorMorph) and: [m myMorph == aMorph])
+ 				ifTrue: [scriptors add: m].
+ 				((m isKindOf: WatcherWrapper) and: [m associatedPlayer == self])
+ 				ifTrue: [watchers add: m]
+ 				].
- 				ifTrue: [scriptors add: m]].
  
  	aMorph  removeAllEventTriggersFor: self.
  	aWorld removeAllEventTriggersFor: self.
  	viewers do: [:v |  v noteDeletionOf: aMorph].
  	viewerFlaps do: [:v  | v dismissViaHalo].
+ 	scriptors do: [:s | s privateDelete].
+ 	watchers do: [:s | s privateDelete]!
- 	scriptors do: [:s | s privateDelete] !



More information about the etoys-dev mailing list