From e5d55d06510abfe4147e3cc120f36d11be28f8fd 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 05e4b45e..98edb1a2 100644 --- a/src/loaders/lottie/tvgLottieBuilder.cpp +++ b/src/loaders/lottie/tvgLottieBuilder.cpp @@ -1439,7 +1439,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(layer->scene); } @@ -1529,6 +1528,7 @@ static bool _buildComposition(LottieComposition* comp, LottieLayer* parent) } if (child->matteTarget) { + child->matteTarget->matteSrc = true; //parenting _buildHierarchy(parent, child->matteTarget); //precomp referencing