Commit 23064751 authored by Fushan Wen's avatar Fushan Wen
Browse files

wallpapers/image: set duration to 1 to avoid flickering

When Image is in a Rectangle, though the image is set to fill the
rectangle, the rectangle can still be seen before the image is fully
loaded.

If asynchronous is set to true, the exact moment Image.status becomes
Image.Ready, the image doesn't really show up in the window.

To verify the behavior, run qml main.qml in the attachment and click
the window area (will switch between the two images), see if every
time the color of rectangle shows up before the image.

See also: https://bugreports.qt.io/browse/QTBUG-106797


(cherry picked from commit 178503d9)
parent 65e3f62a
Pipeline #235096 canceled with stage
in 3 minutes and 43 seconds
......@@ -147,7 +147,7 @@ QQC2.StackView {
"sourceSize": root.sourceSize,
"color": root.configColor,
"blur": root.blur,
"opacity": doesSkipAnimation ? 1: 0,
"opacity": 0,
"width": root.width,
"height": root.height,
});
......@@ -183,7 +183,8 @@ QQC2.StackView {
from: 0
to: 1
// The value is to keep compatible with the old feeling defined by "TransitionAnimationDuration" (default: 1000)
duration: Math.round(PlasmaCore.Units.veryLongDuration * 2.5)
// 1 is HACK for https://bugreports.qt.io/browse/QTBUG-106797 to avoid flickering
duration: root.doesSkipAnimation ? 1 : Math.round(PlasmaCore.Units.veryLongDuration * 2.5)
}
}
// Keep the old image around till the new one is fully faded in
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment