https://bugs.kde.org/show_bug.cgi?id=371455

--- Comment #31 from Yuking <yuking_...@sohu.com> ---
(In reply to Christian from comment #27)
> I have no experience in debugging KDE but started comparing versions and
> files because this bug is "bugging me".
> 
> Could it be that this commit introduced the behaviour? It's the only change
> I could find that seems to be related to the background slideshow.
> https://github.com/KDE/plasma-workspace/commit/
> ea32a7611227ca141bd60d983d1489d2be82d10f#diff-
> 821d7994d425d401a2d150dca027d8dc
> 
> My guess is that replacing the old code:
> m_timer.stop();
>         m_slideshowBackgrounds.clear();
>         m_unseenSlideshowBackgrounds.clear();
>         BackgroundFinder *finder = new BackgroundFinder(this, m_dirs);
>         m_findToken = finder->token();
>         connect(finder, &BackgroundFinder::backgroundsFound, this,
> &Image::backgroundsFound);
>         finder->start();
> 
> with the new code:
> m_timer.stop();
>     m_slideshowModel->reload(m_slidePaths);
>     connect(m_slideshowModel, &SlideModel::done, this,
> &Image::backgroundsFound);
> 
> somehow causes the whole plasma background to wait until all the paths have
> been scanned. Maybe the purpose of starting the "finder" after connecting it
> was just this, to avoid the delay?
> 
> Just a guess.

In 5.16, a QStringList stores all pictures' paths, but the information of each
picture will not be checked before it is displayed. In 5.17, the QStringList is
removed, and all pictures' information are checked while creating the
background 's list. That is why it is so slow.
I tried to fixed it, but found the only way is rollbacking the codes to 5.16
...

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to