[Seaside] Problem with calling owner from decoration

Lukas Renggli renggli at gmail.com
Wed Oct 29 21:21:52 UTC 2008


On Wed, Oct 29, 2008 at 9:20 PM, M. Polák <nigol at nigol.cz> wrote:
> Thanks for suggestions, but none helped :(. I added ; yourself and it
> returns a MAContainerComponent, which looks OK. But nothing changed, looks
> like before.

How does your code looks like now?

> I tried putting halt to the #editAction, and method is correctly entered,
> but it looks like #call: has some problem. I'd some trace over, and it hangs
> at WARenderContinuation>>handleRequest: on this code...

You can't step over #call: with a debugger. Call causes the current
process to send out a response and terminate the computation. Later
on, when a request comes in that triggers a corresponding answer:, the
process call-stack is restored and resumed. I've never seen a debugger
that could handle such a fancy thing.

Cheers,
Lukas

>
> ((self shouldRedirect: aRequest)
>                ifTrue: [ self newRedirectContinuation ]
>                ifFalse: [ self newRenderContinuation ])
>                        run
> When #run is send, Squeak freezes and only Cmd + . break execution. I have
> no idea what to do.
>
> Thanks a lot for suggestions - any others are highly appreciated
>
> Martin
>
>
>
> On 28.10.2008, at 23:38, Lukas Renggli wrote:
>
>> #addValidatedForm answers the added decoration, as all add decoration
>> methods do. You need to append a ; yourself.
>>
>> Lukas
>>
>>
>>>
>>> Hmm... I'm not exactly sure, except to say that this pattern seems a
>>> little strange to me somehow. Nothing jumps out immediately as to why
>>> it isn't working though.
>>>
>>> Beware of #owner, though. It is badly named (following a refactoring
>>> some time ago). It return the *next* item in the Decoration chain,
>>> which is only the Component if this is the last Decoration. That can't
>>> be your problem, though, because you'd presumably get an error that
>>> #editAction was not understood.
>>>
>>> Try putting a halt in your callback to make sure that the callback is
>>> actually being called. If so, then it must be some interaction between
>>> your Decoration and the WADelegation that is added by the call:, but
>>> as I said, I can't immediately see just from looking at your code,
>>> what that problem is. You'll need to put a halt in somewhere and
>>> inspect the decoration chain to see what's happening.
>>>
>>> Or, maybe somebody else on the list can spot the problem right off...
>>>
>>> Julian
>>> _______________________________________________
>>> seaside mailing list
>>> seaside at lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>



-- 
Lukas Renggli
http://www.lukas-renggli.ch


More information about the seaside mailing list