Review Request 121886: Fix thumbnailing (for filemanager) by separate thumbnailer for Krita file types

Friedrich W. H. Kossebau kossebau at kde.org
Wed Jan 7 21:38:01 GMT 2015


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

(Updated Jan. 7, 2015, 9:38 nachm.)


Review request for Calligra and Boudewijn Rempt.


Changes
-------

Only use prerendered material from the file, do not render with Krita code


Repository: calligra


Description
-------

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.

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.

Despite being a plugin (for the KDE filemanager thumbnailing system) I did not put the thumbnailer into `krita/plugins`, but instead added a subdir `krita/integration`, given this is not a plugin _for_ Krita, but _from_ Krita for other systems. I would also propose to move `krita/plugins/kimgio` to that new subdir, for consistency.

TODO:
when behind the scenes the thumbnailing plugin is shutdown due to being unused, it crashes e.g. like this
```
CRITICAL: According to statistics of the KisTileDataStore some tiles have leaked from the Krita control! 
CRITICAL: Tiles in memory: 20034 Total tiles: 20034 
kio_thumbnail(10513)/krita (registry) KisPaintOpRegistry::~KisPaintOpRegistry: Deleting KisPaintOpRegistry
kio_thumbnail(10513)/krita (registry) KisBrushServer::~KisBrushServer: deleting KisBrushServer
Fatal Error: Accessed global static 'KisMemoryLeakTracker *s_instance()' after destruction. Defined at /home/koder/Kode/kdegit/Calligra/calligra/krita/image/kis_memory_leak_tracker.cpp:45
kioslave: ####### CRASH ###### protocol = thumbnail pid = 10513 signal = 6
```
Not perfect (though not preventing any thumbnailing), any idea what might setup/shutdown be missing for the thumbnailer?


Diffs (updated)
-----

  krita/plugins/formats/ora/krita_ora_thumbnail.desktop a7b0f60 
  extras/thumbnail/CMakeLists.txt 6c29b50 
  extras/thumbnail/krita_kra_thumbnail.desktop d44255a 
  extras/thumbnail/kritaanimation_kranim_thumbnail.desktop cd569b3 
  krita/CMakeLists.txt b2691f9 
  krita/integration/CMakeLists.txt PRE-CREATION 
  krita/integration/thumbnail/CMakeLists.txt PRE-CREATION 
  krita/integration/thumbnail/krita_kra_thumbnail.desktop PRE-CREATION 
  krita/integration/thumbnail/kritaanimation_kranim_thumbnail.desktop PRE-CREATION 
  krita/integration/thumbnail/kritacreator.h PRE-CREATION 
  krita/integration/thumbnail/kritacreator.cpp PRE-CREATION 

Diff: https://git.reviewboard.kde.org/r/121886/diff/


Testing
-------


Thanks,

Friedrich W. H. Kossebau

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20150107/b15bbc09/attachment.htm>


More information about the calligra-devel mailing list