[Seaside-dev] Issue 310 in seaside: #inNewRenderLoopCall: broken
with partial continuations
codesite-noreply at google.com
codesite-noreply at google.com
Tue Jan 27 11:59:26 UTC 2009
Status: Accepted
Owner: ----
Labels: Type-Defect Priority-Medium Version-Seaside2.9
New issue 310 by jfitzell: #inNewRenderLoopCall: broken with partial
continuations
http://code.google.com/p/seaside/issues/detail?id=310
The current implementation of #inNewRenderLoopCall: does not work with
partial continuations. It worked with the full continuations because of a
fluke when the wrong context chain was unwound.
The method should restore the root component when the continuation is
evaluated. The problem is that there is currently no way to get at the
current root component (nor at the current continuation, which holds it).
This also affects #inNewRenderLoopShow: - #answer does not work for
components displayed this way. I think it might be possible to fix that
once the other issue is fixable.
The most "correct" fix for this, in my opinion, is to store the root
component in the session and backtrack it. The problem is, this really
wants a WARenderLoopSession subclass because the base Session know nothing
about Components. This is only a problem because people are used to
subclassing WASession...
Other possible solutions...
* SessionContinuations could be made into RequestHandlers (we'd have to
split it into WARequestHandler and WAFilteredRequestHandler) and added to
the context
* The SessionContinuation could store the root component in the property
dictionary on RequestContext
* Dunno, other thoughts?
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
More information about the seaside-dev
mailing list