Summary: | Can't apply wallpaper downloaded from GHNS | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Piotr Mierzwinski <piotr.mierzwinski> |
Component: | Image Wallpaper | Assignee: | Marco Martin <notmart> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | admin, kde, nate, piotr.mierzwinski, plasma-bugs |
Priority: | VHI | Keywords: | regression |
Version: | 5.19.3 | ||
Target Milestone: | 1.0 | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/-/commit/74e9f990ae6c461ec9848b68e537732eeb458eca | Version Fixed In: | Plasma 5.21 or Frameworks 5.77 |
Sentry Crash Report: | |||
Attachments: |
wallpaper before selection new
wallpaper after selection new wallpaper for layout changed and restored (change in ComboBox) |
Description
Piotr Mierzwinski
2020-07-08 09:10:30 UTC
Can you include some screenshots please. Created attachment 129972 [details]
wallpaper before selection new
Created attachment 129973 [details]
wallpaper after selection new
Created attachment 129974 [details]
wallpaper for layout changed and restored (change in ComboBox)
To be more detailed. After yesterday update of Plasma and try of change a wallpaper I turned off my PC. Today after I turned on my PC I found default wallpaper (for Plasma 5.19). I'm not sure if this affects but: - Application Style I use is: kvantum - Window decoration: Material (originating from git repo.) - Colors: ROUNDED-DARK - Plasma Style: ROUNDED-COLOR Session is X11 (The xcb windowing system). I didn't check it in Wayland. Crap, I can reproduce. This affects wallpapers shipped in a package that do *not* come from kdeplasma-addons (for some reason). I can reliably hit it trying to switch to a wallpaper downloaded from GHNS or the package wallpaper shipped with my distro (openSUSE TW). Reverting https://invent.kde.org/plasma/plasma-workspace/-/commit/530b36abb0a0a04958417cf914906fb64ab64062 fixes it for me.. I didn't see this issue in testing because I tested with local wallpapers from files, and package wallpapers from among the ones shipped in kdeplasma-addons, but I did not test with any wallpapers from GHNS. filepath != X-KDE-PluginInfo-Name for some packages apparently Distinction on whether it works correctly is whether the metadata is broken or not. A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/152 (In reply to Nate Graham from comment #6) > Reverting > https://invent.kde.org/plasma/plasma-workspace/-/commit/ > 530b36abb0a0a04958417cf914906fb64ab64062 fixes it for me.. I didn't see this > issue in testing because I tested with local wallpapers from files, and > package wallpapers from among the ones shipped in kdeplasma-addons, but I > did not test with any wallpapers from GHNS. I confirm. I applied amendment you suggested and changing wallpaper started work for me. I modified manually qml file (WallpaperDelegate.qml) placed in: /usr/share/plasma/wallpapers/org.kde.image/contents/ui Like this: onClicked: { if (configDialog.currentWallpaper == "org.kde.image") { cfg_Image = model.path; } Thanks for help. Git commit cbeae8e16eee3ba6fd66246805fa362292cc6e48 by Nate Graham, on behalf of David Edmundson. Committed on 16/07/2020 at 14:56. Pushed by ngraham into branch 'Plasma/5.19'. [wallpaper] Avoid using pluginId for indexing package indexes Image takes a string and loads the relevant package at a given path wallpapers+packageName pluginId typically is the same as the package name on disk, but not always, either due to bad metadata or it being deliberately mangled during install to avoid escaped characters. Returning the package path has the same desired effect for saving chosen images by package names, but avoids the complexity above. metaData presence is still queried to separate real packages from the fake packages generated internally which represent just one image. (cherry picked from commit 74e9f990ae6c461ec9848b68e537732eeb458eca) M +1 -1 wallpapers/image/backgroundlistmodel.cpp https://invent.kde.org/plasma/plasma-workspace/commit/cbeae8e16eee3ba6fd66246805fa362292cc6e48 Fixed by https://invent.kde.org/plasma/plasma-workspace/-/commit/74e9f990ae6c461ec9848b68e537732eeb458eca in Plasma 5.19.4 Sorry for the headache. This is again is broken. I noticed it when I wasn't able to change wallpaper to installed one (by ocs-url) from store.kde.org. Checking qml code this looks like regression. Note that with ".new" extension is one which works. I applied such change in the past and mentioned at 2020-07-13 22:11:44. $ diff WallpaperDelegate.qml WallpaperDelegate.qml.new 24a25 > import org.kde.plasma.components 2.0 as PlasmaComponents 127,128c128,129 < if (configDialog.currentWallpaper == "org.kde.image") { < cfg_Image = model.packageName || model.path; --- > if (configDialog.currentWallpaper == "org.kde.image") { > cfg_Image = model.path; File I found in package plasma-workspace 5.20.2-1 I tested this also in KDE Neon (unstable edition, so with Plasma 5.20.80) and seems works. I checked qml code and turned out that this logic has been rewritten in new way. SOFTWARE/OS VERSIONS Linux/KDE Plasma: YES (available in About System) KDE Plasma Version: 5.20.2 KDE Frameworks Version: 5.75 Qt Version: 5.15.1 Which wallpaper? Any of them or just some? Are you interested in submitting a merge request to fix it? (In reply to Nate Graham from comment #13) > Which wallpaper? Any of them or just some? Are you interested in submitting > a merge request to fix it? Looking at code seems to the problem is the same like in the past. Which wallpapaers? For example these: https://store.kde.org/p/1441338/ https://store.kde.org/p/1441324/ and all other what in Desktop Settings call like: "Wine Leave". I sent merge request: https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/420 Is this still happening for you? In git master with Frameworks 5.77, this is working for me with those wallpapers you mentioned, as well as any other one I try. (In reply to Nate Graham from comment #15) > Is this still happening for you? In git master with Frameworks 5.77, this is > working for me with those wallpapers you mentioned, as well as any other one > I try. Of course happens. In file WallpaperDelegate.qml between Plasma version 5.20.2 and 5.20.4 (current stable) changed nothing. Only worked when I modified this file manually, as described above. Given that I could reproduce in the past, but I no longer can, it's safe to assume that something in the code changed between then and now. Unfortunately I don't know what it is, but happily this means that it should be fixed for you with either Plasma 5.21 or Frameworks 5.77! Please re-open if it's still happening for you after upgrading to Plasma 5.21. Also feel free to mention if the Frameworks 5.77 upgrade fixed it for you, once that version is released in a few days. (In reply to Nate Graham from comment #17) > Given that I could reproduce in the past, but I no longer can, it's safe to > assume that something in the code changed between then and now. > Unfortunately I don't know what it is, but happily this means that it should > be fixed for you with either Plasma 5.21 or Frameworks 5.77! If you have not (manually) changed WallpaperDelegate.qml file and you are able to change wallpaper such I mentioned then seems might be something different in code which causes that works for you. Anyway. After yesterday test, when I restarted PC I got no wallpaper on my desktop. I applied mentioned fix and all back to normal. I set wallpaper with success. I tested this also in Neon distribution (unstable dev version) and change such wallpapers was working. |