Bug 302074 - [PATCH] Thumnailer keeps running after exiting gwenview
Summary: [PATCH] Thumnailer keeps running after exiting gwenview
Status: RESOLVED FIXED
Alias: None
Product: gwenview
Classification: Unclassified
Component: general (show other bugs)
Version: Git (add output of "git log -1 --oneline" to description)
Platform: Compiled Sources Linux
: NOR critical (vote)
Target Milestone: ---
Assignee: Gwenview Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-17 16:52 UTC by Benni Hill
Modified: 2012-10-19 13:26 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 2.9.1


Attachments
stop-thumbnailer-when-exiting (679 bytes, patch)
2012-06-17 16:54 UTC, Benni Hill
Details
wait for sThumbnailCache to finish (750 bytes, patch)
2012-08-01 00:05 UTC, Benni Hill
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Benni Hill 2012-06-17 16:52:41 UTC
Git Version: e4e135c Fix images not showing after viewing a video

When thumbnailing a folder for which gwenview hasn't created thumbnails yet, the thumbnailer keeps running after exiting gwenview. This is at least an annoying behaviour since this blocks unmounting of flash drives, etc.

I marked this as critical since it might be possible that the user won't notice that unmounting had failed and therefore he would remove his external device (-> data loss?).

Reproducible: Always

Steps to Reproduce:
1. Open a folder for which gwenview has not created thumbnails yet.
2. When gwenview starts to thumbnail the images, hit control+q or similar to exit it
3. main window disappears

Actual Results:  
A gwenview process keeps running and thumbnailing all the images in the queue.

Expected Results:  
Gwenview should have exited immediately.
Comment 1 Benni Hill 2012-06-17 16:54:45 UTC
Created attachment 71892 [details]
stop-thumbnailer-when-exiting

The patch deletes the ThumbnailLoadJob when ThumbnailView is deleted.
Comment 2 Aurelien Gateau 2012-06-28 16:20:35 UTC
Hi,

I agree it is a problem, but your patch just caused an assert here:

ASSERT: "qMetaTypeGuiHelper" in file /home/aurelien/kdesrc/qt/src/corelib/kernel/qmetatype.cpp, line 1384
libpng error: Write Error
gwenview(7376) Gwenview::storeThumbnailToDiskCache: Could not save thumbnail 
QFile::at: Cannot set file position 0 
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = gwenview path = /home/aurelien/opt/k4m/bin pid = 7376

I think we need a safer way to stop the job. I think clearing the item list in the job destructor would be a better fix.
Comment 3 Benni Hill 2012-08-01 00:05:34 UTC
Created attachment 72860 [details]
wait for sThumbnailCache to finish

Phew!
I think ThumbnailLoadJob has to wait for sThumbnailCache to finish. I don't know why, but somehow the QImage that is to be stored to disk seems to disappear (sometimes).
Comment 4 Aurelien Gateau 2012-08-02 16:08:55 UTC
Git commit 3dbd4e95c9494d4ae5ed51ebfbfa75efeceff97f by Aurélien Gâteau, on behalf of Benni Hill.
Committed on 02/08/2012 at 18:06.
Pushed by gateau into branch 'KDE/4.9'.

Stop thumbnailing when Gwenview exits.

This is important as it blocks unmounting of flash drives.
FIXED-IN: 2.9.1

M  +1    -0    lib/thumbnailloadjob.cpp
M  +1    -0    lib/thumbnailview/thumbnailview.cpp

http://commits.kde.org/gwenview/3dbd4e95c9494d4ae5ed51ebfbfa75efeceff97f