[Marble-devel] Review Request 123306: Fixes a tile scaling bug that resulted in low level tiles creating a peculiar mosaic on intensive zooming to non-predownloaded areas.

Torsten Rahn tackat at kde.org
Tue Apr 14 07:48:09 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/123306/#review78917
-----------------------------------------------------------

Ship it!


Ship It!

- Torsten Rahn


On April 13, 2015, 7:57 vorm., Adam Dabrowski wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/123306/
> -----------------------------------------------------------
> 
> (Updated April 13, 2015, 7:57 vorm.)
> 
> 
> Review request for Marble.
> 
> 
> Repository: marble
> 
> 
> Description
> -------
> 
> Update: Now fixes the issue by bounding the scaled aread to a minimum of 1 pixel 
> 
> -----
> 
> Doesn't change functionality.
> 
> Does clarify the code as flow was very non-intuitive previously (especially in case when deltaLevel > 8 for tileSize = 256).
> 
> if/when the scaledLowerLevelTile "for" loop reached zoom level where 2^deltaLevel > tileSize, a peculiar thing was happening.
> In this situation, in part "// which rect to scale?", the image was copied first from 0 sized-image. Calling the QImage::copy function with null rectangle (or 0 width and 0 height) results in copying a whole image instead. As a result, instead of level_N tile, a level_N-9 (or later) tile was returned unscaled, resulting in curious displays (i.e. multiple copies of the same tile image).
> While for textures that are downloadable this was a temporary case, offline textures would just stop there and display this curious images. Additionally it was very unclear and took me some time to figure out what's happening.
> 
> This version does clearly what previously was done due to specific QImage::copy behaviour.
> 
> Let's discuss if this behaviour is desired (or we want to display a full white opaque tile or a tile with a loading icon if there are download urls etc.).
> 
> 
> Diffs
> -----
> 
>   src/lib/marble/TileLoader.cpp 01994eb 
> 
> Diff: https://git.reviewboard.kde.org/r/123306/diff/
> 
> 
> Testing
> -------
> 
> Tested with unbounded second layer (partial) of texture, where the bug formerly was very easy to detect. Also tested with fast zooming to non-predownloaded areas. Works well. 
> 
> Tested with zooming in and out and two layers of texture as well as one. No change noticed (as intended).
> 
> 
> Thanks,
> 
> Adam Dabrowski
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/marble-devel/attachments/20150414/c2fe1c2d/attachment.html>


More information about the Marble-devel mailing list