diff --git a/src/loaders/lottie/tvgLottieBuilder.cpp b/src/loaders/lottie/tvgLottieBuilder.cpp index 9c0b6299..41a6fedd 100644 --- a/src/loaders/lottie/tvgLottieBuilder.cpp +++ b/src/loaders/lottie/tvgLottieBuilder.cpp @@ -779,6 +779,8 @@ static void _updateMaskings(LottieLayer* layer, int32_t frameNo) static void _updateLayer(LottieLayer* root, LottieLayer* layer, int32_t frameNo) { + layer->scene = nullptr; + //visibility if (frameNo < layer->inFrame || frameNo > layer->outFrame) return; @@ -820,7 +822,7 @@ static void _updateLayer(LottieLayer* root, LottieLayer* layer, int32_t frameNo) //matte masking layer if (layer->matte.target) { _updateLayer(root, layer->matte.target, frameNo); - layer->scene->composite(cast(layer->matte.target->scene), layer->matte.type); + if (layer->matte.target->scene) layer->scene->composite(cast(layer->matte.target->scene), layer->matte.type); } _updateMaskings(layer, rFrameNo);