Hi,
I am finally getting around to updating my Batik CVS and testing Thomas' recent fixes (http://koala.ilog.fr/batik/mlists/batik-dev/archives/msg04022.html) and I found something that seems to have broken. My batik build is the absolute latest from CVS.
My code does the following, which used to work prior to the new batik changes: I install a doc in a JSVGComponent, allow the user to interactively modify the doc. Then I load a new doc, and when I get a managerStopped event, I know it's "safe" to access the old doc, using the ImageTranscoder to rasterize it. When I do this, I get the following stack trace:
java.lang.NullPointerException
at org.apache.batik.bridge.SVGImageElementBridge.dispose(SVGImageElementBridge.java:716)
at org.apache.batik.bridge.AbstractGraphicsNodeBridge.disposeTree(AbstractGraphicsNodeBridge.java:276)
at org.apache.batik.bridge.AbstractGraphicsNodeBridge.disposeTree(AbstractGraphicsNodeBridge.java:279)
at org.apache.batik.bridge.SVGUseElementBridge.buildCompositeGraphicsNode(SVGUseElementBridge.java:215)
at org.apache.batik.bridge.SVGUseElementBridge.createGraphicsNode(SVGUseElementBridge.java:121)
at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:220)
at org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:186)
at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:226)
at org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:186)
at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:226)
at org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:186)
at org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:108)
at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:238)
at org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:122)
at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:174)
at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:188)
at edu.rutgers.elearning.util.SVGRasterizer.rasterizeSVG(SVGRasterizer.java:80)
at edu.rutgers.elearning.presenter.DisplaySlideHelper._saveSlide(DisplaySlideHelper.java:240)
at edu.rutgers.elearning.presenter.DisplaySlideHelper.access$200(DisplaySlideHelper.java:27)
at edu.rutgers.elearning.presenter.DisplaySlideHelper$2.managerStopped(DisplaySlideHelper.java:122)
at org.apache.batik.swing.svg.JSVGComponent$9.run(JSVGComponent.java:1702)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Could this be related to the recent memory leak fix in the BridgeContext? Is watching for "managerStopped" no longer the recommended way to determine when it's safe to access an unloaded doc?
Thanks.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]