Summary: | Cannot set image as wallpaper if its file path contains a '#' | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | sloppedmail |
Component: | Image Wallpaper | Assignee: | Marco Martin <notmart> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | bugseforuns, kde, kde, nate, plasma-bugs |
Priority: | NOR | ||
Version: | 5.22.3 | ||
Target Milestone: | 1.0 | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
sloppedmail
2021-07-20 13:06:29 UTC
Appareantly it's NOT just NTFS, as the same thing happens inside my home-directory on a normal ext4 partition (I messed up while testing earlier) The same issue is also present on the newest stable KDE Neon (tested in a live environment) Observations: If a parent-folder has a '#' in it, the image cannot be selected. If the file-name has a '#', it can be selected, but cannot be applied Some quick notes: It goes wrong in the config dialog. /home/david/#foo.jpg gets saved as: usersWallpapers=/home/david/foo.jpg in plasmarc It strips the "#" character, it doesn't truncate to that point, so it's not treating it as a URL fragment int BackgroundListModel::indexOf(const QString &path) const { for (int i = 0; i < m_packages.size(); i++) { // packages will end with a '/', but the path passed in may not QString package = m_packages[i].path(); if (package.endsWith(QChar::fromLatin1('/'))) { package.chop(1); } // remove eventual file:/// const QString filteredPath = QUrl(path).path(); That obviously fails encoding/decoding Just fixed in Bug 454692. *** This bug has been marked as a duplicate of bug 454692 *** |