summaryrefslogtreecommitdiff
path: root/kde-frameworks/plasma/files/plasma-5.102.0-fix-flicker-on-fade-animation.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kde-frameworks/plasma/files/plasma-5.102.0-fix-flicker-on-fade-animation.patch')
-rw-r--r--kde-frameworks/plasma/files/plasma-5.102.0-fix-flicker-on-fade-animation.patch44
1 files changed, 0 insertions, 44 deletions
diff --git a/kde-frameworks/plasma/files/plasma-5.102.0-fix-flicker-on-fade-animation.patch b/kde-frameworks/plasma/files/plasma-5.102.0-fix-flicker-on-fade-animation.patch
deleted file mode 100644
index 1c6ddab618aa..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.102.0-fix-flicker-on-fade-animation.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 3fcd43a6ed03d0aff188dfc190cc464c34302a1f Mon Sep 17 00:00:00 2001
-From: Arjen Hiemstra <ahiemstra@heimr.nl>
-Date: Tue, 10 Jan 2023 12:46:20 +0100
-Subject: [PATCH] iconitem: Adjust fade animation to not flicker as much
-
-As it turns out, mix(old texture, new texture, animation value) does
-actually result in a different visual from simply blending the two
-textures on top of each other, because the old texture first gets
-blended with the underlying color. This results in some of the
-underlying color bleeding through, which can cause flickering if the two
-textures are almost the same. To avoid this, change the animation
-slightly so that rather than crossfading, we first fade in the new
-texture then fade out the old texture. This doesn't cause a whole lot of
-visual difference for two completely different textures, but removes the
-flickering when they are very similar.
-
-BUG: 463061
-BUG: 463685
----
- src/declarativeimports/core/iconitem.cpp | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/declarativeimports/core/iconitem.cpp b/src/declarativeimports/core/iconitem.cpp
-index de1f56c69..a474a72f9 100644
---- a/src/declarativeimports/core/iconitem.cpp
-+++ b/src/declarativeimports/core/iconitem.cpp
-@@ -645,8 +645,12 @@ QSGNode *IconItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *update
- m_textureChanged = true;
- }
-
-- updateSubtree(oldNode->firstChild(), 1.0 - m_animValue);
-- updateSubtree(oldNode->lastChild(), m_animValue);
-+ // Rather than doing a perfect crossfade, first fade in the new texture
-+ // then fade out the old texture. This is done to avoid the underlying
-+ // color bleeding through when both textures are at ~0.5 opacity, which
-+ // causes flickering if the two textures are very similar.
-+ updateSubtree(oldNode->firstChild(), 2.0 - m_animValue * 2.0);
-+ updateSubtree(oldNode->lastChild(), m_animValue * 2.0);
- } else {
- if (oldNode->childCount() == 0) {
- oldNode->appendChildNode(createSubtree(1.0));
---
-GitLab
-