OpenLayers OpenLayers

Ticket #2156: 2156.patch

File 2156.patch, 1.4 kB (added by tschaub, 9 months ago)

stop panning in destroy

  • tests/Map.html

    old new  
    12971297        map.destroy(); 
    12981298         
    12991299    } 
     1300     
     1301    function test_panTo(t) { 
     1302         
     1303        t.plan(2); 
     1304         
     1305        var map = new OpenLayers.Map("map"); 
     1306        map.addLayer( 
     1307            new OpenLayers.Layer(null, {isBaseLayer: true}) 
     1308        ); 
     1309        map.setCenter(new OpenLayers.LonLat(0, 0), 0); 
     1310         
     1311        map.panTo(new OpenLayers.LonLat(1, 0)); 
     1312        t.eq(map.panTween.playing, true, "the map pan tween is playing before destroy"); 
     1313         
     1314        map.destroy(); 
     1315        t.ok(!map.panTween || !map.panTween.playing, "the map pan tween is not playing after destroy"); 
     1316         
     1317    } 
    13001318 
    13011319  </script> 
    13021320</head> 
  • lib/OpenLayers/Map.js

    old new  
    632632        if (!this.unloadDestroy) { 
    633633            return false; 
    634634        } 
     635         
     636        // make sure panning doesn't continue after destruction 
     637        if(this.panTween && this.panTween.playing) { 
     638            this.panTween.stop(); 
     639        } 
    635640 
    636641        // map has been destroyed. dont do it again! 
    637642        OpenLayers.Event.stopObserving(window, 'unload', this.unloadDestroy);