[BUG] Wierd resend behavior
Brian Rice
water at tunes.org
Sun Dec 4 13:46:35 PST 2005
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Dec 4, 2005, at 12:27 PM, Todd Fleming wrote:
> (This might give you a clue to what I've been working on...)
Cool. :) Thanks for putting time into this.
> Slate 5> lobby ensureNamespace: #Graphics &delegate: True.
> Slate 6> load: 'src/ui/region.slate'.
> Slate 7> load: 'src/ui/graphics.slate'.
> Slate 8> load: 'src/ui/transform.slate'.
> Slate 9> load: 'src/ui/morph.slate'.
> Slate 10> define: #A &parents: {Morph}.
> Slate 11> define: #B &parents: {A}.
> Slate 12> _@(A traits) doSomething
> [
> inform: 'In A doSomething'.
> ].
> Slate 13> _@(B traits) doSomething
> [
> inform: 'In B doSomething'.
> resend.
> ].
> Slate 14> B doSomething.
> In B doSomething
> The method #selector: was not found for the following arguments:
> {("MethodResentNotFound" handlers: {}. exitContinuation: [].
> returnContinuation: [].
> message: Nil. method: []). #doSomething}
> Nil
>
>
> This problem doesn't occur if A doesn't derive from Morph.
Okay. There is a simple bug in the specific condition code that the
debugger actually signals, and then there's the fact that your resend
is throwing an error in the first place.
For the former, I see that my MethodNotFound refactoring to use a
Message object instead of storing the selector and arguments directly
wasn't carried down to its derivative - big oops there, I'll push up
a patch that fixes it and new images.
As for the latter, the delegation of Morph via #defaultState to
DefaultMorphState is probably the problem. Feel free to remove that
and set up default morph properties in some other way. Actually, a
quicker alternative is to change the addDelegate: line in morph.slate
to:
Morph addDelegate: #defaultState after: #defaultState valued:
MorphDefaultState.
Or you could move the delegation up to Morph traits. In any case, the
default-state setup is dodgy and feel free to push it out of the way
while you're in there as long as progress is being made.
On the other hand, the next method not being found at all is a pretty
bad sign. I'll reproduce it here once the new images are done and
respond again with hopefully a more definitive answer.
- --
- -Brian
http://tunes.org/~water/brice.vcf
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)
iD8DBQFDk2PBPVkAvLW1zf4RAk+OAKCFpQRFUcZI9ywLHbl7J2mCLZReFwCfSq4y
kOaoYzPU3mnZWBKaQW3ONJg=
=/MY8
-----END PGP SIGNATURE-----
More information about the Slate
mailing list