Yes
The logic around halo is bogus (especially the main table but this is another story)
and hand has also too many responsibilities :)

Le 26/3/15 23:24, Aliaksei Syrel a écrit :
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?

(https://pharo.fogbugz.com/f/cases/15235/Much-faster-Morphic-removeHalo)

Cheers,
Alex


Reply via email to