[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