From: Andrew G. <an...@zo...> - 2004-07-23 06:18:04
|
Hi, I've come across a small but annoying bug in the groupmanager... In groupmanager.js, there is a function called "_NewSetLocation" which is used to override the DynLayers "setLocation" function. "setLocation" is called from DynLayer.setX like so: p.setX=function(x) {this.setLocation(x,null)}; i.e. with one argument set to null. When setX() or setY() is called on a layer that is managed by the groupmanager, the groupmanagers NewSetLocation function tries to calculate how far the layer has moved : GroupManager._NewSetLocation = function(x,y){ var byX=x-this.x; var byY=y-this.y; So, if you call setX(), it will calculate the byX value correctly but will set the byY value to "-this.y". This has the effect of setting the x-coord of the layer to what you want and setting the y-coord to 0! A few tests to see int the x or y values are null seems to fix things up nicely. A fixed version is: GroupManager._NewSetLocation = function(x,y){ var byX=0,byY=0; if(x!=null) byX=x-this.x; if(y!=null) byY=y-this.y; Andrew. |