[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why don't morphs remove transforms when deleted?



On Thu, 25 May 2000 21:33:47 +0100 "Jonathan Coupe" <jonathan@meanwhile.freeserve.co.uk> wrote:
>If I delete a Morph by issuing the delete message, then it leaves a
>TransformationMorph behind in the world. This doesn't happen if I dismiss
>the morph using its halo's pink-x button. Looking at the code, its obvious
>how this happens, but not why.
>
>Is it intended that a morph shouldn't delete its tranform when deleted? If
>so, why?
>
>If there's no reason why I shouldn't, then I'm going to have some of my
>classes start to delete their transforms when they're deleted. Off the top
>of my head I'll either do this by searching the World in the same way
>Morph>>halo does, or keeping track of the TransformationMorphs as they are
>created in addFlexShell.

Jonathon,

I can't tell you why it's that way, but here are some tips if you want to be sure to delete the transforms as well

instead of

	someMorph delete

you send

	someMorph topRendererOrSelf delete

then you will get the TransformationMorph (and/or DropShadowMorph as well). If you need this in a lot of places, you might implement

Morph>>deleteCompletely

	self topRendererOrSelf delete

or you can implement #delete methods in your classes that do something similar.

Cheers,
Bob