[vlc-commits] [Git][videolan/vlc][master] qml: fix fading edge optimization conflicting with animation

Jean-Baptiste Kempf (@jbk) gitlab at videolan.org
Thu Aug 3 10:53:29 UTC 2023



Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
ab144dbc by Fatih Uzunoglu at 2023-08-03T10:14:00+00:00
qml: fix fading edge optimization conflicting with animation

- - - - -


1 changed file:

- modules/gui/qt/widgets/qml/FadingEdgeListView.qml


Changes:

=====================================
modules/gui/qt/widgets/qml/FadingEdgeListView.qml
=====================================
@@ -139,7 +139,8 @@ ListViewCompat {
     ShaderEffectSource {
         id: proxyContentItem
 
-        visible: (root._beginningFade || root._endFade)
+        visible: (root._beginningFade || root._endFade) ||
+                 ((shaderEffect) && (shaderEffect.beginningFadeSize > 0 || shaderEffect.endFadeSize > 0))
 
         BindingCompat on visible {
             // Let's see if the effect is compatible...
@@ -150,6 +151,8 @@ ListViewCompat {
         readonly property bool effectCompatible: (((GraphicsInfo.shaderType === GraphicsInfo.GLSL)) &&
                                                  ((GraphicsInfo.shaderSourceType & GraphicsInfo.ShaderSourceString)))
 
+        property ShaderEffect shaderEffect
+
         anchors.top: parent.top
         anchors.left: parent.left
 
@@ -191,6 +194,16 @@ ListViewCompat {
             property real endFadeSize: root._endFade ? normalFadeSize : 0
             readonly property real endFadePos: 1.0 - endFadeSize
 
+            Component.onCompleted: {
+                console.assert(proxyContentItem.shaderEffect == null)
+                proxyContentItem.shaderEffect = this
+            }
+
+            Component.onDestruction: {
+                console.assert(proxyContentItem.shaderEffect === this)
+                proxyContentItem.shaderEffect = null
+            }
+
             // TODO: Qt >= 5.15 use inline component
             Behavior on beginningFadeSize {
                 // Qt Bug: UniformAnimator does not work...



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/ab144dbc00e92bc6a1397d6b5e8c2302abde1426

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/ab144dbc00e92bc6a1397d6b5e8c2302abde1426
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list