Review Request 114561: Information Panel: fix race condition (caused by multiple running PreviewJobs)

Frank Reininghaus frank78ac at googlemail.com
Mon Jan 6 19:19:21 GMT 2014


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

(Updated Jan. 6, 2014, 7:19 p.m.)


Status
------

This change has been marked as submitted.


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: https://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/20140106/11f25076/attachment.htm>


More information about the kfm-devel mailing list