Review Request 114561: Information Panel: fix race condition (caused by multiple running PreviewJobs)
Frank Reininghaus
frank78ac at googlemail.com
Fri Dec 20 07:52:03 GMT 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/114561/
-----------------------------------------------------------
Review request for Dolphin.
Bugs: 250787
http://bugs.kde.org/show_bug.cgi?id=250787
Repository: kde-baseapps
Description
-------
In
InformationPanelContent::showItem(const KFileItem& item)
or
InformationPanelContent::showItems(const KFileItemList& items),
we either load an icon in the panel, or we start a PreviewJob to get a preview for the current item. However, if a long-running PreviewJob is active already, we load the preview that it creates later on, even though the preview might be for an item that is not hovered any more.
To fix this, we can keep a pointer to the last preview job, and kill it before a new item is being shown in the panel, or a new preview job is started.
Diffs
-----
dolphin/src/panels/information/informationpanelcontent.h ed9200a
dolphin/src/panels/information/informationpanelcontent.cpp d63f23b
Diff: http://git.reviewboard.kde.org/r/114561/diff/
Testing
-------
I couldn't really test it yet because my development user does not have the PDF thumbnailer (yet), and previews for other files are generated so fast here that it's hard to see the race. But I verified that the panel still works as expected when hovering items.
Thanks,
Frank Reininghaus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20131220/fb3b4815/attachment.htm>
More information about the kfm-devel
mailing list