D26483: [wallpapers/image] Add default XDG wallpaper locations for slideshow
David Edmundson
noreply at phabricator.kde.org
Tue Jan 14 21:03:52 GMT 2020
davidedmundson requested changes to this revision.
davidedmundson added inline comments.
This revision now requires changes to proceed.
INLINE COMMENTS
> image.cpp:362
> + // Replace 'preferred://wallpaperlocations' with real paths
> + for (QString &path : m_slidePaths) {
> + if (path == QLatin1String("preferred://wallpaperlocations")) {
there's two mistakes that cancel kinda each other out here.
typically, this should be qAsConst(m_slidePaths)
m_slidePaths here detatches and does a full deep-copy
https://www.dvratil.cz/2015/06/qt-containers-and-c11-range-based-loops/
BUT:
you modify m_slidePaths whilst you are iterating through m_slidePaths. If we hadn't accidentally detached this would be very crashy dangerous code.
Feel free to claim it was deliberate because you are a genius.
-----
However, rather than a deep copy ideally we would just force a shallow copy i.e
const QStringList preprocssedPaths = m_slidePaths;
for (const QString &path: preprocssedPaths) {
...
}
best of all worlds
REPOSITORY
R120 Plasma Workspace
REVISION DETAIL
https://phabricator.kde.org/D26483
To: ngraham, #plasma, #vdg, ndavis, davidedmundson
Cc: davidre, broulik, davidedmundson, ndavis, plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20200114/d7787e0a/attachment.html>
More information about the Plasma-devel
mailing list