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]



Reply via email to