[OpenLayers-Dev] removeExcessTiles doesn't work properly

Eric Lemoine eric.lemoine at camptocamp.com
Thu May 24 02:31:43 EDT 2012


On Thu, May 24, 2012 at 8:25 AM, Eric Lemoine
<eric.lemoine at camptocamp.com> wrote:
> On Wed, May 23, 2012 at 11:56 PM,  <kikuchan at uranus.dti.ne.jp> wrote:
>> Hi list.
>>
>> I've found a potential bug in OpenLayers.Layer.Grid class
>> when I'm trying to make a subclass of the class.
>>
>> A function removeExcessTiles() doesn't work properly in following situation:
>>
>> 1. initGriddedTiles() founds minRows and minCols are 1, 3
>> 2. then grid will be [[a, b, c]] for example.
>> 3. next time of calling initGriddedTiles founds minRows and minCols are 2, 2
>> 4. then grid will be [[a, b, c], [d, e]] after the do-while.
>> 5. removeExcessTiles(2, 2) eliminate 'c', AND 'e' objects.
>>  (because it uses 'pop' for each rows)
>> 6. tileData[i].tile.draw() refers destroy()ed data, and it crashes.
>
> This sounds like a good fix. Are your familiar with GitHub? Would you
> make a pull request against the 2.12 branch for that? A new test
> function in tests/Layer/Grid.html for this would also be required.
>
> Also, I'm interested to know how you've come across this bug? In
> practice does the bug trigger when resizing the browser window? The
> grid
>
> Thank you!

This issue sounds like the one reported in
<https://github.com/openlayers/openlayers/issues/481>.





-- 
Eric Lemoine

Camptocamp France SAS
Savoie Technolac, BP 352
73377 Le Bourget du Lac, Cedex

Tel : 00 33 4 79 44 44 96
Mail : eric.lemoine at camptocamp.com
http://www.camptocamp.com


More information about the Dev mailing list