Hi Thomas,
thomas.deweese wrote: > > I think the only way the following stack trace can > occur is if you setSVGDocument with the currently displayed > SVGDocument. > Thanks a lot but, this is not the case. Actually, I am first calling setDocument(null) to free the memory used by the SVG and then after some time, when the SVG is needed again I am again loadIng the file, parsing and putting a new fresh Document to the canvas. But I debugged a bit more and I think I found the problem (but still no solution or workaround). I found in the sources of AbstractJGVTComponent.renderGVTTree() that the event dispatcher is disabled before the rendering... // Disable the dispatch during the rendering // to avoid concurrent access to the GVT tree. if (eventDispatcher != null) { eventDispatcher.setEventDispatchEnabled(false); } ... and then turned on again when the rendering is finished. But in my handler for GVT Build Completed I am calling setRenderingTransform: public void gvtBuildCompleted(GVTTreeBuilderEvent e) { svgCanvas.setRenderingTransform(transform, true); } This causes the current rendering to stop and a new one to start. The AbstractJGVTComponent$Listener.renderingStopped() method is called, where: ... a new rendering is scheduled: renderGVTTree(); ... and the event dispatcher is enabled again: eventDispatcher.setEventDispatchEnabled(true); So it might be that the event dispatcher gets enabled in the middle of the new rendering. Do you think this is possible? You might wonder why I am calling setRenderingTransform for the newly loaded SVG. This is because I am loading again the same SVG and I'd like to keep the zoom / pan / rotation so the user sees the SVG exactly in the same way like before it was unloaded (by setDocument(null)). Is there a better way to set the transform for a newly loaded SVG? I'd like to avoid showing first the whole graphics and then zoom & pan etc. Thanks! Lukasz -- View this message in context: http://www.nabble.com/Threading-problem-when-using-JSVGCanvas.setSVGDocument-tp20147098p20149809.html Sent from the Batik - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]