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





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Honestly, I'd say, don't bother with trying to render a krita or ora document if there's no thumbnail or merged image to use. </p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">ORA has:</p>
<ul style="padding: 0;text-rendering: inherit;margin: 0 0 0 1em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Thumbnails/thumbnail.png</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">mergedimage.png</li>
</ul>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">KRA has:
<em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;"> preview.png
</em> mergedimage.png</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Actually rendering a document using krita is always going to be extremely tricky because of all the delayed action and threading involved.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This might mean no thumbnails for some very odd .kra or .ora files, but it's preferable to linking in all of Krita.</p></pre>
 <br />









<p>- Boudewijn Rempt</p>


<br />
<p>On January 6th, 2015, 9:25 p.m. UTC, Friedrich W. H. Kossebau wrote:</p>









<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for Calligra and Boudewijn Rempt.</div>
<div>By Friedrich W. H. Kossebau.</div>


<p style="color: grey;"><i>Updated Jan. 6, 2015, 9:25 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
calligra
</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The central Calligra thumbnailing plugin for filemanagers assumes document classes to be based on KoDocument & KoPart. Which no longer holds true for Krita after MVC got merged, KisDocument has nothing to do with that.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">So a separate thumbnailer with KisDocument specific code is needed. And here I propose a first version. It should make thumbnailing for ORA, KRA and KRAANIM files work again.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Despite being a plugin (for the KDE filemanager thumbnailing system) I did not put the thumbnailer into <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">krita/plugins</code>, but instead added a subdir <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">krita/integration</code>, given this is not a plugin <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">for</em> Krita, but <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">from</em> Krita for other systems. I would also propose to move <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">krita/plugins/kimgio</code> to that new subdir, for consistency.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">TODO:
when behind the scenes the thumbnailing plugin is shutdown due to being unused, it crashes e.g. like this</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%">CRITICAL<span style="color: #666666">:</span> According to statistics of the KisTileDataStore some tiles have leaked from the Krita control<span style="color: #666666">!</span> 
CRITICAL<span style="color: #666666">:</span> Tiles <span style="color: #008000; font-weight: bold">in</span> memory<span style="color: #666666">:</span> <span style="color: #666666">20034</span> Total tiles<span style="color: #666666">:</span> <span style="color: #666666">20034</span> 
kio_thumbnail<span style="color: #666666">(10513)/</span>krita <span style="color: #666666">(</span>registry<span style="color: #666666">)</span> KisPaintOpRegistry<span style="color: #666666">::~</span>KisPaintOpRegistry<span style="color: #666666">:</span> Deleting KisPaintOpRegistry
kio_thumbnail<span style="color: #666666">(10513)/</span>krita <span style="color: #666666">(</span>registry<span style="color: #666666">)</span> KisBrushServer<span style="color: #666666">::~</span>KisBrushServer<span style="color: #666666">:</span> deleting KisBrushServer
Fatal Error<span style="color: #666666">:</span> Accessed global <span style="color: #008000; font-weight: bold">static</span> <span style="color: #BA2121">'KisMemoryLeakTracker *s_instance()'</span> after destruction<span style="color: #666666">.</span> Defined at <span style="color: #BB6688">/home/koder/Kode/kdegit/Calligra/calligra/krita/image/</span>kis_memory_leak_tracker<span style="color: #666666">.</span><span style="color: #7D9029">cpp</span><span style="color: #666666">:45</span>
kioslave<span style="color: #666666">:</span> <span style="border: 1px solid #FF0000">#######</span> CRASH <span style="border: 1px solid #FF0000">######</span> protocol <span style="color: #666666">=</span> thumbnail pid <span style="color: #666666">=</span> <span style="color: #666666">10513</span> signal <span style="color: #666666">=</span> <span style="color: #666666">6</span>
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Not perfect (though not preventing any thumbnailing), any idea what might setup/shutdown be missing for the thumbnailer?</p></pre>
  </td>
 </tr>
</table>



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

 <li>extras/thumbnail/CMakeLists.txt <span style="color: grey">(6c29b50)</span></li>

 <li>extras/thumbnail/krita_kra_thumbnail.desktop <span style="color: grey">(d44255a)</span></li>

 <li>extras/thumbnail/kritaanimation_kranim_thumbnail.desktop <span style="color: grey">(cd569b3)</span></li>

 <li>krita/CMakeLists.txt <span style="color: grey">(55ecc80)</span></li>

 <li>krita/integration/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/integration/thumbnail/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/integration/thumbnail/krita_kra_thumbnail.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/integration/thumbnail/kritaanimation_kranim_thumbnail.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/integration/thumbnail/kritacreator.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/integration/thumbnail/kritacreator.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krita/plugins/formats/ora/krita_ora_thumbnail.desktop <span style="color: grey">(a7b0f60)</span></li>

</ul>

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






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








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