Ricardo Moran uploaded a new version of Etoys to project Etoys: http://source.squeak.org/etoys/Etoys-Richo.42.mcz
==================== Summary ====================
Name: Etoys-Richo.42 Author: Richo Time: 31 August 2010, 10:34:05 am UUID: 0d5ed724-9505-734b-86fa-064a8b6e675f Ancestors: Etoys-bf.41
* Fix for (SQ-776) If you detach a Speech Bubble, then "stop saying or thinking" the bubble disappears and what looks like playfield remains
=============== Diff against Etoys-bf.41 ===============
Item was changed: ----- Method: SpeechBubbleMorph>>target: (in category 'accessing') ----- target: aMorph + target isMorph ifTrue: [target bubble: nil]. target := aMorph. target notNil ifTrue: [self positionMyselfAccordingToTarget ]!
Item was changed: ----- Method: Morph>>stopSayingOrThinking (in category '*Etoys-SpeechBubbles') ----- stopSayingOrThinking | currentBubble | currentBubble := self bubble. currentBubble isNil ifTrue: [^self]. + currentBubble delete. + self bubble: nil! - currentBubble delete!
Item was added: + ----- Method: Morph>>bubble: (in category '*Etoys-SpeechBubbles') ----- + bubble: aSpeechBubbleMorph + self setProperty: #bubble toValue: aSpeechBubbleMorph !
Item was changed: ----- Method: Morph>>showMessage:inBubbleType: (in category '*Etoys-SpeechBubbles') ----- showMessage: aString inBubbleType: typeSymbol | currentBubble | currentBubble := self bubble. currentBubble notNil ifTrue: [ (currentBubble string = aString and: [currentBubble type = typeSymbol and: [currentBubble isInWorld]]) ifTrue: [^self]. currentBubble delete]. aString isEmpty ifTrue: [^self removeProperty: #bubble]. + self bubble: (SpeechBubbleMorph string: aString type: typeSymbol for: self)! - self setProperty: #bubble toValue: (SpeechBubbleMorph string: aString type: typeSymbol for: self)!
Item was changed: ----- Method: Morph>>showObject:inBubbleType: (in category '*Etoys-SpeechBubbles') ----- showObject: aPlayer inBubbleType: typeSymbol | currentBubble morph | morph := aPlayer costume renderedMorph. currentBubble := self bubble. currentBubble notNil ifTrue: [ (currentBubble msgMorph = morph and: [currentBubble type = typeSymbol and: [currentBubble isInWorld]]) ifTrue: [^self]. currentBubble delete]. + self bubble: (SpeechBubbleMorph morph: morph type: typeSymbol for: self).! - self setProperty: #bubble toValue: (SpeechBubbleMorph morph: morph type: typeSymbol for: self).!
Item was changed: ----- Method: Morph>>showGraphic:inBubbleType: (in category '*Etoys-SpeechBubbles') ----- showGraphic: aForm inBubbleType: typeSymbol | currentBubble | currentBubble := self bubble. currentBubble notNil ifTrue: [ (currentBubble form = aForm and: [currentBubble type = typeSymbol and: [currentBubble isInWorld]]) ifTrue: [^self]. currentBubble delete]. + self bubble: (SpeechBubbleMorph form: aForm type: typeSymbol for: self).! - self setProperty: #bubble toValue: (SpeechBubbleMorph form: aForm type: typeSymbol for: self).!
etoys-dev@lists.squeakfoundation.org