Author: knopp
Date: Thu Nov 29 10:33:15 2007
New Revision: 599537
URL: http://svn.apache.org/viewvc?rev=599537&view=rev
Log:
fixed another IE memory leak
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
URL:
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js?rev=599537&r1=599536&r2=599537&view=diff
==============================================================================
---
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
(original)
+++
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
Thu Nov 29 10:33:15 2007
@@ -1561,7 +1561,7 @@
* Flexible dragging support.
*/
Wicket.Drag = {
-
+
/**
* Initializes the dragging on the specified element.
* Element's onmousedown will be replaced by generated handler.
@@ -1579,42 +1579,48 @@
onDragEnd = Wicket.emptyFunction;
if (typeof(onDrag) == "undefined")
onDrag = Wicket.emptyFunction;
+
+ element.wicketOnDragBegin = onDragBegin;
+ element.wicketOnDrag = onDrag;
+ element.wicketOnDragEnd = onDragEnd;
+
// set the mousedown handler
- element.onmousedown = function(e) {
-
- e = Wicket.fixEvent(e);
+ Wicket.Event.add(element, "mousedown",
Wicket.Drag.mouseDownHandler);
+ },
- // HACK - for safari stopPropagation doesn't work well
because
- // it also prevents scrollbars and form components
getting the
- // event. Therefore for safari the 'ignore' flag is set
on event.
- if (typeof(e.ignore) == "undefined") {
-
- Wicket.stopEvent(e);
+ mouseDownHandler: function(e) {
+ e = Wicket.fixEvent(e);
+
+ var element = this;
- onDragBegin(element);
+ // HACK - for safari stopPropagation doesn't work well because
+ // it also prevents scrollbars and form components getting the
+ // event. Therefore for safari the 'ignore' flag is set on
event.
+ if (typeof(e.ignore) == "undefined") {
+
+ Wicket.stopEvent(e);
+
+ element.wicketOnDragBegin(element);
+
+ element.lastMouseX = e.clientX;
+ element.lastMouseY = e.clientY;
+
+ element.old_onmousemove = document.onmousemove;
+ element.old_onmouseup = document.onmouseup;
+ element.old_onselectstart = document.onselectstart;
+ element.old_onmouseout = document.onmouseout;
+
+ document.onselectstart = function() { return false; }
+ document.onmousemove = Wicket.Drag.mouseMove;
+ document.onmouseup = Wicket.Drag.mouseUp;
+ document.onmouseout = Wicket.Drag.mouseOut;
+
+ Wicket.Drag.current = element;
+
+ return false;
+ }
- element.onDrag = onDrag;
- element.onDragEnd = onDragEnd;
-
- element.lastMouseX = e.clientX;
- element.lastMouseY = e.clientY;
-
- element.old_onmousemove = document.onmousemove;
- element.old_onmouseup = document.onmouseup;
- element.old_onselectstart =
document.onselectstart;
- element.old_onmouseout = document.onmouseout;
-
- document.onselectstart = function() { return
false; }
- document.onmousemove = Wicket.Drag.mouseMove;
- document.onmouseup = Wicket.Drag.mouseUp;
- document.onmouseout = Wicket.Drag.mouseOut;
-
- Wicket.Drag.current = element;
-
- return false;
- }
- };
},
/**
@@ -1649,7 +1655,7 @@
var deltaX = e.clientX - o.lastMouseX;
var deltaY = e.clientY - o.lastMouseY;
- var res = o.onDrag(o, deltaX, deltaY, e);
+ var res = o.wicketOnDrag(o, deltaX, deltaY, e);
if (res == null)
res = [0, 0];
@@ -1672,10 +1678,8 @@
var o = Wicket.Drag.current;
if (o != null && typeof(o) != "undefined") {
- o.onDragEnd(o);
+ o.wicketOnDragEnd(o);
- o.onDrag = null;
- o.onDragEnd = null;
o.lastMouseX = null;
o.lastMouseY = null;