'From Vancouver1.0 of 28 September 2004 [latest update: #329] on 24 October 2004 at 7:12:41 pm'! "Change Set: scriptFixes-sw Date: 24 October 2004 Author: Scott Wallace Adapted for Squeakland 3.8 sw 11/16/2004 Three important scriptor-related fixes: * The status control in the scriptor's header was not getting retargeted when a scriptor got retargeted. This could led to several bizarre effects that could make one doubt ones sanity. * Flexed morphs were being put on the steplist on the strength of having a player known to their extension. This was spurious, resulting in pointless extra morphs in the steplist, which sometimes could actually result in unwanted, redundant firings. * Assign-status-to-all-siblings was not propagating the frequency or the tickingRate to the sibs."! !Morph methodsFor: 'testing' stamp: 'sw 10/24/2004 15:28'! wantsSteps "Return true if the receiver overrides the default Morph step method." "Details: Find first class in superclass chain that implements #step and return true if it isn't class Morph." | c | self isPartsDonor ifTrue: [^ false]. (self == self topRendererOrSelf) ifTrue: [self player wantsSteps ifTrue: [^ true]]. c _ self class. [c includesSelector: #step] whileFalse: [c _ c superclass]. ^ c ~= Morph! ! !ScriptEditorMorph methodsFor: 'initialization' stamp: 'sw 10/24/2004 17:41'! updateToPlayer: newPlayer "Make certain that the script name and the names of actors within are up to date" playerScripted ifNil: ["likely a naked test/yes/no fragment!!" ^ self]. newPlayer == playerScripted ifTrue: [^ self]. "Already points to him" self allMorphs do: [:m | (m isKindOf: TileMorph) ifTrue: [m retargetFrom: playerScripted to: newPlayer. m bringUpToDate]]. playerScripted _ newPlayer. self replaceRow1! ! !ScriptInstantiation methodsFor: 'misc' stamp: 'sw 10/24/2004 17:05'! assignStatusToAllSiblings "Let all sibling instances of my player have the same status that I do. The stati affected are both the event stati and the tickingStati" | aScriptInstantiation | (player class allInstances copyWithout: player) do: [:aPlayer | aScriptInstantiation _ aPlayer scriptInstantiationForSelector: selector. aScriptInstantiation status: status. aScriptInstantiation frequency: self frequency. aScriptInstantiation tickingRate: self tickingRate. aScriptInstantiation updateAllStatusMorphs]! !