From fredj: "layer.destroy() calls removeLayer() so control.destroy()
should do the same by calling removeControl()". (Closes #1009) git-svn-id: http://svn.openlayers.org/trunk/openlayers@4676 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -130,8 +130,12 @@ OpenLayers.Control = OpenLayers.Class({
|
||||
// eliminate circular references
|
||||
if (this.handler) {
|
||||
this.handler.destroy();
|
||||
}
|
||||
this.map = null;
|
||||
this.handler = null;
|
||||
}
|
||||
if (this.map) {
|
||||
this.map.removeControl(this);
|
||||
this.map = null;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@@ -797,8 +797,8 @@ OpenLayers.Map = OpenLayers.Class({
|
||||
removeControl: function (control) {
|
||||
//make sure control is non-null and actually part of our map
|
||||
if ( (control) && (control == this.getControl(control.id)) ) {
|
||||
if (!control.outsideViewport) {
|
||||
this.viewPortDiv.removeChild(control.div)
|
||||
if (!control.outsideViewport && control.div) {
|
||||
this.viewPortDiv.removeChild(control.div);
|
||||
}
|
||||
OpenLayers.Util.removeItem(this.controls, control);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user