@@ -19,11 +19,13 @@ import QtQuick 2.0
1919Item {
2020 id: effect
2121 property bool enabled: topGapPx != positionPx || bottomGapPx != positionPx
22+ property alias live: effectSource.live
2223 property Item sourceItem
2324 property ShaderEffectSource source: ShaderEffectSource {
25+ id: effectSource
2426 sourceItem: effect.enabled ? effect.sourceItem : null
2527 hideSource: effect.enabled
26− live: effect.enabled
28+ live: false
2729 sourceRect: {
2830 if (effect.enabled) {
2931 Qt.rect(0, -effect.topOverflow, sourceItem.width, sourceItem.height + effect.topOverflow + effect.bottomOverflow)
@@ -33,6 +35,8 @@ Item {
3335 }
3436 }
3537
38+ onEnabledChanged: if (!live && enabled) scheduleUpdate()
39+
3640 /*!
3741 \qmlproperty real positionPx
3842 The y coordinate of where to perform the split.
@@ -60,6 +64,10 @@ Item {
6064
6165 property real __roundedPositionPx: Math.round(positionPx)
6266
67+ function scheduleUpdate() {
68+ source.scheduleUpdate();
69+ }
70+
6371 ShaderEffect {
6472 id: top
6573 visible: effect.enabled