diff --git a/src/loaders/lottie/tvgLottieBuilder.cpp b/src/loaders/lottie/tvgLottieBuilder.cpp index 687a77e0..96557b9c 100644 --- a/src/loaders/lottie/tvgLottieBuilder.cpp +++ b/src/loaders/lottie/tvgLottieBuilder.cpp @@ -1122,8 +1122,9 @@ static void _updatePrecomp(LottieLayer* precomp, float frameNo, LottieExpression frameNo = precomp->remap(frameNo, exps); - for (auto child = precomp->children.end() - 1; child >= precomp->children.begin(); --child) { - _updateLayer(precomp, static_cast(*child), frameNo, exps); + for (auto c = precomp->children.end() - 1; c >= precomp->children.begin(); --c) { + auto child = static_cast(*c); + if (!child->matteSrc) _updateLayer(precomp, child, frameNo, exps); } //clip the layer viewport