You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-commits@xmlgraphics.apache.org by ca...@apache.org on 2005/10/15 06:35:55 UTC
svn commit: r321289 - in
/xmlgraphics/batik/trunk/sources/org/apache/batik/bridge:
ScriptingEnvironment.java svg12/SVG12ScriptingEnvironment.java
Author: cam
Date: Fri Oct 14 21:35:49 2005
New Revision: 321289
URL: http://svn.apache.org/viewcvs?rev=321289&view=rev
Log:
1. Fixed bug where shadow tree mutations cause 'handler' element
event handlers to be registered more than once.
Modified:
xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/ScriptingEnvironment.java
xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/svg12/SVG12ScriptingEnvironment.java
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/ScriptingEnvironment.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/ScriptingEnvironment.java?rev=321289&r1=321288&r2=321289&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/ScriptingEnvironment.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/ScriptingEnvironment.java Fri Oct 14 21:35:49 2005
@@ -155,20 +155,17 @@
/**
* The DOMNodeInserted event listener.
*/
- protected EventListener domNodeInsertedListener
- = new DOMNodeInsertedListener();
+ protected EventListener domNodeInsertedListener;
/**
* The DOMNodeRemoved event listener.
*/
- protected EventListener domNodeRemovedListener
- = new DOMNodeRemovedListener();
+ protected EventListener domNodeRemovedListener;
/**
* The DOMAttrModified event listener.
*/
- protected EventListener domAttrModifiedListener
- = new DOMAttrModifiedListener();
+ protected EventListener domAttrModifiedListener;
/**
* The SVGAbort event listener.
@@ -354,6 +351,9 @@
* Adds DOM listeners to the document.
*/
protected void addDocumentListeners() {
+ domNodeInsertedListener = new DOMNodeInsertedListener();
+ domNodeRemovedListener = new DOMNodeRemovedListener();
+ domAttrModifiedListener = new DOMAttrModifiedListener();
NodeEventTarget et = (NodeEventTarget) document;
et.addEventListenerNS
(XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeInserted",
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/svg12/SVG12ScriptingEnvironment.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/svg12/SVG12ScriptingEnvironment.java?rev=321289&r1=321288&r2=321289&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/svg12/SVG12ScriptingEnvironment.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/svg12/SVG12ScriptingEnvironment.java Fri Oct 14 21:35:49 2005
@@ -25,6 +25,7 @@
import org.apache.batik.bridge.svg12.SVG12BridgeContext;
import org.apache.batik.dom.AbstractDocument;
import org.apache.batik.dom.AbstractElement;
+import org.apache.batik.dom.events.EventSupport;
import org.apache.batik.dom.svg12.SVGGlobal;
import org.apache.batik.dom.svg12.XBLEventSupport;
import org.apache.batik.dom.util.DOMUtilities;
@@ -76,6 +77,9 @@
* Adds DOM listeners to the document.
*/
protected void addDocumentListeners() {
+ domNodeInsertedListener = new DOMNodeInsertedListener();
+ domNodeRemovedListener = new DOMNodeRemovedListener();
+ domAttrModifiedListener = new DOMAttrModifiedListener();
AbstractDocument doc = (AbstractDocument) document;
XBLEventSupport es = (XBLEventSupport) doc.initializeEventSupport();
es.addImplementationEventListenerNS
@@ -110,6 +114,33 @@
(XMLConstants.XML_EVENTS_NAMESPACE_URI,
"DOMAttrModified",
domAttrModifiedListener, false);
+ }
+
+ /**
+ * The listener class for 'DOMNodeInserted' event.
+ */
+ protected class DOMNodeInsertedListener
+ extends ScriptingEnvironment.DOMNodeInsertedListener {
+ public void handleEvent(Event evt) {
+ super.handleEvent(EventSupport.getUltimateOriginalEvent(evt));
+ }
+ }
+
+ /**
+ * The listener class for 'DOMNodeRemoved' event.
+ */
+ protected class DOMNodeRemovedListener
+ extends ScriptingEnvironment.DOMNodeRemovedListener {
+ public void handleEvent(Event evt) {
+ super.handleEvent(EventSupport.getUltimateOriginalEvent(evt));
+ }
+ }
+
+ protected class DOMAttrModifiedListener
+ extends ScriptingEnvironment.DOMAttrModifiedListener {
+ public void handleEvent (Event evt) {
+ super.handleEvent(EventSupport.getUltimateOriginalEvent(evt));
+ }
}
/**