[Seaside] Problem with calling owner from decoration
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.
> ((self shouldRedirect: aRequest)
> ifTrue: [ self newRedirectContinuation ]
> ifFalse: [ self newRenderContinuation ])
> 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
> 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.
>>> 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...
>>> seaside mailing list
>>> seaside at lists.squeakfoundation.org
> seaside mailing list
> seaside at lists.squeakfoundation.org
More information about the seaside