From 4e5ff3ea9a0aac631e7a0003852299d3e9d3676b Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Wed, 26 Mar 2025 20:08:49 +0900 Subject: [PATCH] lottie: safety++ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Don't apply matte — it's already been pushed into the scene. This is a corner-case bug that occurs when the Lottie data violates the specification. --- src/loaders/lottie/tvgLottieBuilder.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/loaders/lottie/tvgLottieBuilder.cpp b/src/loaders/lottie/tvgLottieBuilder.cpp index 39cec602..7f4ff4bc 100644 --- a/src/loaders/lottie/tvgLottieBuilder.cpp +++ b/src/loaders/lottie/tvgLottieBuilder.cpp @@ -1510,7 +1510,6 @@ void LottieBuilder::updateLayer(LottieComposition* comp, Scene* scene, LottieLay updateEffect(layer, frameNo); - //the given matte source was composited by the target earlier. if (!layer->matteSrc) scene->push(cast(layer->scene)); } @@ -1600,6 +1599,7 @@ static bool _buildComposition(LottieComposition* comp, LottieLayer* parent) } if (child->matteTarget) { + child->matteTarget->matteSrc = true; //parenting _buildHierarchy(parent, child->matteTarget); //precomp referencing