Review Request: Comic Book Thumbnailer

Ingo Klöcker kloecker at kde.org
Sat Oct 31 22:01:22 GMT 2009


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/1983/#review2880
-----------------------------------------------------------


Please use shared pointers instead of C-pointers whereever it makes sense. Now that Qt finally provides QSharedPointer (new in Qt 4.5) and QScopedPointer (new in Qt 4.6; see http://doc.qt.nokia.com/4.6-snapshot/qscopedpointer.html) there's really no reason anymore for risking memory leaks by using C-pointers which need to be deleted explicitly.


/trunk/KDE/kdebase/runtime/kioslave/thumbnail/comiccreator.h
<http://reviewboard.kde.org/r/1983/#comment2292>

    Use QScopedPointer<QImage> instead of a C-pointer.



/trunk/KDE/kdebase/runtime/kioslave/thumbnail/comiccreator.cpp
<http://reviewboard.kde.org/r/1983/#comment2287>

    Initialize all non-object members here, i.e. all those C-pointer variables.



/trunk/KDE/kdebase/runtime/kioslave/thumbnail/comiccreator.cpp
<http://reviewboard.kde.org/r/1983/#comment2288>

    Use QScopedPointer<KArchive> instead of a C-pointer because then you won't have to think about deleting cArchive everywhere where it might be necessary.



/trunk/KDE/kdebase/runtime/kioslave/thumbnail/comiccreator.cpp
<http://reviewboard.kde.org/r/1983/#comment2289>

    Here you leak cArchive.



/trunk/KDE/kdebase/runtime/kioslave/thumbnail/comiccreator.cpp
<http://reviewboard.kde.org/r/1983/#comment2290>

    Here you also leak cArchive.



/trunk/KDE/kdebase/runtime/kioslave/thumbnail/comiccreator.cpp
<http://reviewboard.kde.org/r/1983/#comment2291>

    And yet another leak of cArchive.


- Ingo


On 2009-10-31 21:37:21, Harsh J wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/1983/
> -----------------------------------------------------------
> 
> (Updated 2009-10-31 21:37:21)
> 
> 
> Review request for Dolphin and kdelibs.
> 
> 
> Summary
> -------
> 
> Okular in kdegraphics supports viewing Comic Book Reader files such as .cbr, and .cbz. However, Dolphin does not preview them just like it previews PDF or other documents.
> 
> Since these comic book files are merely archives of various types, I decided to write a ThumbCreator module that performs the job of previewing these files. The ComicCreator class lists the files, sorts the images among them and then extracts the comic's cover image (usually the first) and hands it over to the thumbnail service.
> 
> For .cbz and .cbt I've used the KArchive subclasses - KZip and KTar to extract.
> (Bug 204195 : Okular doesn't support .cbt as of now - will work on this next)
> 
> For .cbr (the RAR type file) I've used the 'unrar'/'unrar-nonfree' executable (by Eugene Roshal, RARLabs) to extract. This is due to the fact that the free unrar utility does not support most of the new RAR version files.
> 
> This is my first contribution to the KDE Project and I've tried to conform to all Policies:
> 
>  * Code reports no issue with Krazy2All checker.
>  * Code structure, whitespace, etc. is as per the policies of KDE.
>  * License is the new GPL 2 or higher license (as per KDE e.V.)
>  * Followed the existing CMakeLists.txt file format.
> 
> I'm yet to receive my (applied) svn account.
> 
> Have attached screen-shots of it in action.
> 
> Awaiting your feedback :)
> 
> 
> Diffs
> -----
> 
>   /trunk/KDE/kdebase/runtime/kioslave/thumbnail/CMakeLists.txt 1043145 
>   /trunk/KDE/kdebase/runtime/kioslave/thumbnail/comicbookthumbnail.desktop PRE-CREATION 
>   /trunk/KDE/kdebase/runtime/kioslave/thumbnail/comiccreator.h PRE-CREATION 
>   /trunk/KDE/kdebase/runtime/kioslave/thumbnail/comiccreator.cpp PRE-CREATION 
> 
> Diff: http://reviewboard.kde.org/r/1983/diff
> 
> 
> Testing
> -------
> 
> * Compiles without any issues.
> 
> * Thumbnailing works on comic book files of .cbz, .cbt and .cbr types.
>   (Maximum File Size limit needs to be raised a little via Dolphin in some cases for the thumb service to work.)
> 
> * Tested thumbnailing ~300 files (mix of .CBZ, .CBT and .CBR) in a single folder at large preview size.
> 
> * Tested for memory leaks. For 300~ files, each of the spawned kio_thumbnail process takes only ~30 MB Memory
>   resource at maximum (+10 MB Shared, at max). Have seen 3 spawn at the most, 2 usually.
> 
> * Tested with both Dolphin and the Preview Plasmoid.
> 
> 
> Screenshots
> -----------
> 
> Dolphin - Large Comic Previews
>   http://reviewboard.kde.org/r/1983/s/240/
> Dolphin - Normal or Small Comic Previews
>   http://reviewboard.kde.org/r/1983/s/241/
> Dolphin - File Properties Preview
>   http://reviewboard.kde.org/r/1983/s/242/
> 
> 
> Thanks,
> 
> Harsh
> 
>





More information about the kde-core-devel mailing list