Andy Lowther wrote:
I am receiving a ConcurrentModificationException occasionally in the UpdateManager's RunnableQueue and was hoping someone else may have a solution to my situation.
I have a Thread which has access to a SVGDocument instance, and modifies
it.
As you are aware this is a really bad idea. All updates must be made in the UpdateManager's RunnableQueue if one is associated with the document.
This Thread does not have access to the JSVGCanvas, and therefore does not have access to the UpdateManager , which is why I am changing the Document on a different thread.
Why can't you provide the Thread with access to the RunnableQueue?
I also have a GUI, which has access to the same SVGDocument. It adds an EventListener for attribute changes within the Document so it can repaint. To repaint, I simply place an empty Runnable on the UpdateManager thread.
1. Gain access the UpdateManager's RunnableQueue instance without access to the JSVGCanvas.
I don't understand the problem with getting the RunnableQueue from the Canvas and giving it to your other thread.
2. Repaint the JSVGCanvas without doing an invokeLater on the RunnableQueue
Any repaint will cause problems.
3. Be able to recover from this Exception. I know when it occurs, but am unable to get the JSVGCanvas to start up a new RunnableQueue
You are likely to lose important updates.
If anyone can offer some guidance on how to do any of those 3 (or any other suggestions), that would be fantastic
I have received this Exception using Batik 1.5.1 and the latest from CVS. I am using java sdk 1.4.2_04 on Windows 2000
Thank you, -Andy
--------------------------------------------------------------------- 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]
