'From etoys2.1 of 8 August 2007 [latest update: #1622] on 12 September 2007 at 12:49:04 pm'! "Change Set: BroomSave2-yo Date: 12 September 2007 Author: Yoshiki Ohshima There was one more place to restore the filter variable."! !BroomMorph methodsFor: 'stepping and presenter' stamp: 'yo 9/12/2007 12:47'! morphIfNecessary: yellowButtonPressed | pt delta threshold cls center | center _ yellowButtonPressed | centered. pt _ self center. threshold _ self width / 2. delta _ pt - start. cls _ delta x > threshold ifTrue: [center ifTrue: [CenterBroomMorphRight] ifFalse: [BroomMorphRight]] ifFalse: [delta x < threshold negated ifTrue: [center ifTrue: [CenterBroomMorphLeft] ifFalse: [BroomMorphLeft]] ifFalse: [delta y > threshold ifTrue: [center ifTrue: [CenterBroomMorphDown] ifFalse: [BroomMorphDown]] ifFalse: [delta y < threshold negated ifTrue: [center ifTrue: [CenterBroomMorphUp] ifFalse: [BroomMorphUp]]]]]. cls ifNotNil: [self become: (self as: cls). self reset. self resetFilter. unmoved addAll: self affectedMorphs]! !