<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://svn.reviewboard.kde.org/r/6334/">http://svn.reviewboard.kde.org/r/6334/</a>
     </td>
    </tr>
   </table>
   <br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://svn.reviewboard.kde.orgrb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for marble.</div>
<div>By Dennis Nienhüser.</div>





<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Allow using absolute source directories in texture layers in .dgml files.
Extend .dgml by a tileSize tag (width and height attribute), usable inside textureLayer tags. Such .dgml files are backwards compatible.
Handle &#39;base tile missing&#39; case more gracefully and return an empty image instead of triggering an assertion.
Move the default tile size (675) to global.h and replace hardcoded default tile sizes with it.

The use case here is sharing tiles between several users or applications on one system independent of Marble&#39;s datapath setting (.dgml modification to be done by packagers or system admins). Most importantly I want to use it in the Maemo packages to have the openstreetmap source dir point to the &quot;/home/user/MyDocs/.maps/OpenStreetMap I&quot; directory used by several applications there. Symlinking is not an option because the vfat file system used in that directory does not support it. The tileSize addition is mostly done to make this (and Marble in general) more robust, i.e. still work if a user wipes out the entire tile source directory, including the base tile.

This also fixes partially broken installations where a .dgml file is in the data path, but not its base tiles. With this patch it would be possible to omit shipping base tiles for texture layers that download their data. With backward compatibility in mind it&#39;s better not to do that, however; moreover shipping the base tile avoids the &quot;naked&quot; initial view when the base tile has to be downloaded.

I think the patch keeps ABI, so I&#39;d like to backport it to 1.1 (but not 1.0).
</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">- When setting an absolute source dir in a .dgml file, the cached tiles are stored in it and the data path is not touched
- Clouds, openstreetmap and hillshading base tiles can be deleted without Marble segfaulting
- Marble 4.6 without the patch loads .dgml files with the &lt;tileSize&gt; tag fine
</pre>
  </td>
 </tr>
</table>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="https://bugs.kde.org/show_bug.cgi?id=249633">249633</a>, 

 <a href="https://bugs.kde.org/show_bug.cgi?id=263010">263010</a>


</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>trunk/KDE/kdeedu/marble/data/maps/earth/bluemarble/bluemarble.dgml <span style="color: grey">(1214568)</span></li>

 <li>trunk/KDE/kdeedu/marble/data/maps/earth/openstreetmap/openstreetmap.dgml <span style="color: grey">(1214568)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/FileStoragePolicy.cpp <span style="color: grey">(1214568)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/ImageLoadThread.cpp <span style="color: grey">(1214568)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/MapWizard.cpp <span style="color: grey">(1214568)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/TileCreator.cpp <span style="color: grey">(1214568)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/TileLoader.cpp <span style="color: grey">(1214568)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/dgml/DgmlAttributeDictionary.h <span style="color: grey">(1214568)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/dgml/DgmlAttributeDictionary.cpp <span style="color: grey">(1214568)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/dgml/DgmlElementDictionary.h <span style="color: grey">(1214568)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/dgml/DgmlElementDictionary.cpp <span style="color: grey">(1214568)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/dgml/DgmlTileSizeTagHandler.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/geodata/handlers/dgml/DgmlTileSizeTagHandler.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/geodata/scene/GeoSceneTexture.h <span style="color: grey">(1214568)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/geodata/scene/GeoSceneTexture.cpp <span style="color: grey">(1214568)</span></li>

 <li>trunk/KDE/kdeedu/marble/src/lib/global.h <span style="color: grey">(1214568)</span></li>

</ul>

<p><a href="http://svn.reviewboard.kde.org/r/6334/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>




  </div>
 </body>
</html>