Morph intoWorld/outOfWorld notifications (was: RE: how to get Croquet?)

Andreas Raab andreas.raab at gmx.de
Sun Aug 10 15:46:45 UTC 2003


> You can switch it on again by sending #restoreAcceleration, 
> but this won't fix the underlying problem that #intoWorld:
> isn't called.

Yeah, and as it turns out this problem is much more complex than I had
expected. If we look at (for example) #privateAddMorph:atIndex: then we see
that it's actually handling the notifications itself (and correctly!) so
what happens when you grab one of those guys is that we get an "extra"
outOfWorld: being sent which shouldn't even be there (since the world
doesn't change when we transfer the guy into the hand).

So it looks like that the fix I submitted is wrong. This leads me to wonder
what use there is for #privateRemoveMorph: that clients may wish to bypass
the notifications required. If we look over the senders of
#privateRemoveMorph: (21) then we find immediately that various of the users
of #privateRemoveMorph: should not be using the private protocol at all!
Most importantly, #delete (which caused the initial problem) but equally
#privateDelete is used so utterly wrongly that it will break lots and lots
of the invariants that we expect.

Boy, is this @#^! up. I need to think about this a little more.

Cheers,
  - Andreas



More information about the Squeak-dev mailing list