diff --git a/src/loaders/lottie/tvgLottieBuilder.cpp b/src/loaders/lottie/tvgLottieBuilder.cpp index f5543ae7..8ef254aa 100644 --- a/src/loaders/lottie/tvgLottieBuilder.cpp +++ b/src/loaders/lottie/tvgLottieBuilder.cpp @@ -1224,6 +1224,13 @@ void LottieBuilder::updateMaskings(LottieLayer* layer, float frameNo) { if (layer->masks.count == 0) return; + //Introduce an intermediate scene for embracing the matte + masking + if (layer->matteTarget) { + auto scene = Scene::gen(); + scene->push(layer->scene); + layer->scene = scene; + } + Shape* pShape = nullptr; MaskMethod pMethod; uint8_t pOpacity; @@ -1277,13 +1284,6 @@ void LottieBuilder::updateMaskings(LottieLayer* layer, float frameNo) pOpacity = opacity; pMethod = method; } - - //Introduce an intermediate scene for embracing the matte + masking - if (layer->matteTarget) { - auto scene = Scene::gen(); - scene->push(layer->scene); - layer->scene = scene; - } }