Hi,
Do you hate an issue when halo is not removed when parent
morph is deleted from the world and halo stays around nothing?
If you take a look at implementation of
Morph>>removeHalo
removeHalo
�� "remove the
surrounding halo (if any)"
�� self halo
ifNotNil: [self primaryHand removeHalo]
You will see that it removes halo from primary hand. But
before it checks if halo associated to the morph is not nil.
This check is rather costly, so instead of it maybe it would
make sense to ask hand to try to remove halo from morph? The
idea is that hand knows about halo and halo knows about target
morph. It means that primaryHand could remove halo around the
morph much faster than it happens now.
With this improvement it will be cheap to remove halo
around the morph when parent morph is deleted from the world.
What do you think?