fix(lockscreen): use ShaderEffectSource hideSource:true to ensure wallpaper texture buffer is captured for MultiEffect blur

This commit is contained in:
Sho 2026-08-02 16:21:41 +09:00
parent bd96ec0361
commit 4f1ad9deb6

View File

@ -22,26 +22,34 @@ PanelWindow {
visible: LockscreenService.isLocked visible: LockscreenService.isLocked
color: "black" color: "black"
// Raw System Wallpaper (Hidden source item for MultiEffect blur) // Raw System Wallpaper Image
Image { Image {
id: bgImage id: bgImage
anchors.fill: parent anchors.fill: parent
source: WallpaperService.currentWallpaper source: WallpaperService.currentWallpaper
fillMode: Image.PreserveAspectCrop fillMode: Image.PreserveAspectCrop
visible: false
Behavior on source { Behavior on source {
PropertyAnimation { duration: 300 } PropertyAnimation { duration: 300 }
} }
} }
// ShaderEffectSource capturing bgImage GPU texture with hideSource: true
ShaderEffectSource {
id: wallpaperSource
anchors.fill: parent
sourceItem: bgImage
hideSource: true
live: true
}
// Blurred Background of the current system wallpaper // Blurred Background of the current system wallpaper
MultiEffect { MultiEffect {
anchors.fill: parent anchors.fill: parent
source: bgImage source: wallpaperSource
blurEnabled: true blurEnabled: true
blur: 1.0 blur: 1.0
blurMax: 64 blurMax: 48
opacity: 0.85 opacity: 0.85
} }