Summary: | Slideshows always begin with default wallpaper | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Nate Graham <nate> |
Component: | Image & Slideshow wallpaper plugins | Assignee: | Plasma Bugs List <plasma-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | notmart, qydwhotmail |
Priority: | NOR | Keywords: | regression |
Version First Reported In: | master | ||
Target Milestone: | 1.0 | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/commit/02d56ca8b12cd224e1b791aa5d1f3ffacde3b86c | Version Fixed In: | 5.26 |
Sentry Crash Report: |
Description
Nate Graham
2022-06-30 23:37:23 UTC
Can reproduce when there are not many images in the list. The default
wallpaper is set by `useSingleImageDefaults()` in MediaProxy ctor but in
slideshow mode the slideshow backend should replace it with a random image.
I can test it by inserting console.log to onModelImageChanged
> /usr/libexec/kscreenlocker_greet 2>&1|grep wp
qml: wpmodel
image://package/get?dir=/usr/share/wallpapers/Next/&targetWidth=1920&targetHeight=1080
qml: wpmodel
image://package/get?dir=/usr/share/wallpapers/Next/&targetWidth=1920&targetHeight=1080
qml: wpmodel
image://package/get?dir=/usr/share/wallpapers/Next/&targetWidth=1920&targetHeight=1080
qml: wpmodel
image://package/get?dir=/usr/share/wallpapers/Next/&targetWidth=1920&targetHeight=1080
qml: wpmodel
image://package/get?dir=/usr/share/wallpapers/Next/&targetWidth=1920&targetHeight=1080
qml: wpmodel file:///home/qydw/.local/share/wallpapers/Cat.webp
qml: wpmodel file:///home/qydw/.local/share/wallpapers/Cat.webp
qml: wpmodel file:///home/qydw/.local/share/wallpapers/Cat.webp
qml: wpmodel file:///home/qydw/.local/share/wallpapers/Cat.webp
qml: wpmodel file:///home/qydw/.local/share/wallpapers/Cat.webp
But it didn't, which can be caused by Qt.callLater doesn't load the
second image.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1883 Git commit 02d56ca8b12cd224e1b791aa5d1f3ffacde3b86c by Fushan Wen. Committed on 02/07/2022 at 00:23. Pushed by fusionfuture into branch 'master'. wallpapers/image: fix default image overriding the true image The default image is set in MediaProxy ctor. When the default image is still in loading status, the model image can change and be already loaded before the default image is loaded, therefore there could be a race condition that the default image is loaded later and overrides the true image. This stores the pending image and destroys the previous pending image to fix the race condition. FIXED-IN: 5.26 M +35 -17 wallpapers/image/imagepackage/contents/ui/main.qml https://invent.kde.org/plasma/plasma-workspace/commit/02d56ca8b12cd224e1b791aa5d1f3ffacde3b86c |