OpenLayers OpenLayers

Ticket #761: vector.patch

File vector.patch, 1.5 kB (added by crschmidt, 1 year ago)
  • lib/OpenLayers/Layer/Vector.js

    old new  
    363363     * {<OpenLayers.Feature.Vector>} A feature if one was under the event. 
    364364     */ 
    365365    getFeatureFromEvent: function(evt) { 
     366        if (!this.renderer) { 
     367            OpenLayers.Console.error("getFeatureFromEvent called on layer with no renderer. This usually means you destroyed a layer, but not some handler which is associated with it.");  
     368            return null; 
     369        }     
    366370        var featureId = this.renderer.getFeatureIdFromEvent(evt); 
    367371        return this.getFeatureById(featureId); 
    368372    }, 
  • tests/Layer/test_Vector.html

    old new  
    148148    } 
    149149 
    150150    function test_99_Layer_Vector_destroy (t) { 
    151         t.plan(1);     
     151        t.plan(2);     
    152152        layer = new OpenLayers.Layer.Vector(name); 
    153153        var map = new OpenLayers.Map('map'); 
    154154        map.addLayer(layer); 
    155155        layer.destroy(); 
    156156        t.eq(layer.map, null, "layer.map is null after destroy"); 
     157        t.eq(layer.getFeatureFromEvent({'target':'map'}), null, "getFeatureIdFromEvent doesn't cause an error when called on layer which has been destroyed."); 
    157158    } 
    158159 
    159160    function test_Layer_Vector_externalGraphic(t) {