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]



Reply via email to