Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[udig-devel] postRendering problem (bug??)

I'm getting a message (it's intermittent) in the status bar saying:

"Timed out while rendering this layer. Seems to have blocked, check that the 
server is up"

I don't think it's a valid message, given my layer is rendering just fine. 
I'm calling refresh from another thread (it's doing it safely) and the layer 
is getting refreshed.  I tracked down the message, and it seems that the 
implementation of RenderExecutorComposite#CompositeRenderJob#postRendering() 
is a little strange.  If the IRenderer is not in the DONE state, then we get 
the timeout message.  Moving up the stack, I can't see how the IRenderer 
lifecycle is appropriately managed.

Given this code: (RenderJob#run(IProgressMonitor))

getExecutor().getRenderer().setState(IRenderer.RENDERING);

try {

startRendering(bounds, monitor);

} catch (Throwable renderError) {


handleException(renderError);

getExecutor().getRenderer().setState(IRenderer.DONE);

return Status.OK_STATUS;

}


postRendering();

return Status.OK_STATUS;


The IRenderer may not get set to IRenderer.DONE. 





Back to the top