In my application, I call suspendProcessing when the component is
hidden, and resumeProcessing when it is displayed again. Since this
application is multi-threaded, and things are happening all the time,
causing updates to the graphics ... its quite likely that when
suspendProcessing is called it is in the middle of an update. So the
updae started, root was set to null, then suspendProcessing was called -
so the update was interrupted, and therefore gvtRenderingCompleted does
not get called, and the root node is not reset.

On Mon, 2003-07-07 at 21:53, Thomas DeWeese wrote:
> Brian Modra wrote:
> 
> >Hi, in org.apache.batik.util.RunnableQueue, where it calls the link's
> >run() method, its vulnerable - because any exceptions thrown in the
> >run() method will cause the queue to stop.
> >here's a simple fix:
> >from line 163 (or thereabout depending on what version you have)
> >
> >instead of this:
> > rable.run();
> > l.unlock();
> > runnableInvoked(rable);
> > 
> >wrap the run() in a try { ... } catch...  :
> >
>     I agree that because lots of people are now using the runnable queue
> we should
> do this.  Thanks for pointing it out.
> 
> >.... also - this bugfix to JSVGComponent:
> >(To avoid loss of event handling after calling suspendProcessing().)
> >
> >public void resumeProcessing() {
> >  if (updateManager != null) {
> >    updateManager.resume();
> >    setGraphicsNode(getGraphicsNode(), false);
> >  }
> >}
> > 
> >... because suspendProcessing is quite likely to get called inside of a
> >GVT rendering call, which first sets the event dispatcher's root node to
> >null.. and then once suspended, gvtRenderingCompleted (which would have
> >reset the node) never gets called.
> >
>     I don't follow you here.  The only place I can find that we call
> suspendProcessing is in response
> to the user pressing the 'pause' button.  Is the intent to give the
> users a way to 'restart' event processing
> when something goes wrong?  Pause/UnPause?
> 
>     It does appear that gvtRenderingCancelled/Failed should set the root
> node on
> the event dispatcher.
> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to