Re: RunnableQueue bug/weakness

2003-07-08 Thread Brian Modra
If the update manager has been suspended, then the next call to JSVGComponent.renderGVTTree() will find that updateManager.isRunning() is false, and therefore will call super.renderGVTTree() ... where eventDispatcher.setRootNode(null) is called. So the resumeProcessing() method in JSVGComponent ne

Re: RunnableQueue bug/weakness

2003-07-08 Thread Thomas DeWeese
Hi Brian, I'm still having a hard time understanding the problem. Searching the source base the only place we call setRootNode with 'null' is in JGVTComponent.renderGVTTree(). This method is overridden by JSVGComponent, and the subclass only calls the baseclass version for documents that

Re: RunnableQueue bug/weakness

2003-07-07 Thread Brian Modra
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 i

Re: RunnableQueue bug/weakness

2003-07-07 Thread Thomas DeWeese
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 t

RunnableQueue bug/weakness

2003-07-06 Thread Brian Modra
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();