| Summary: | Cannot set image as wallpaper if its file path contains a '#' | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | sloppedmail |
| Component: | Image & Slideshow wallpaper plugins | Assignee: | Marco Martin <notmart> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | CC: | bugseforuns, kde, kde, nate, plasma-bugs-null |
| Priority: | NOR | ||
| Version First Reported In: | 5.22.3 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented 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 *** |