loader/lottie: fix an invalid memory access crash.

This commit is contained in:
Hermet Park 2023-09-11 12:15:59 +09:00
parent 3752ad93b3
commit 2998eb18fc

View file

@ -779,6 +779,8 @@ static void _updateMaskings(LottieLayer* layer, int32_t frameNo)
static void _updateLayer(LottieLayer* root, LottieLayer* layer, int32_t frameNo) static void _updateLayer(LottieLayer* root, LottieLayer* layer, int32_t frameNo)
{ {
layer->scene = nullptr;
//visibility //visibility
if (frameNo < layer->inFrame || frameNo > layer->outFrame) return; 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 //matte masking layer
if (layer->matte.target) { if (layer->matte.target) {
_updateLayer(root, layer->matte.target, frameNo); _updateLayer(root, layer->matte.target, frameNo);
layer->scene->composite(cast<Scene>(layer->matte.target->scene), layer->matte.type); if (layer->matte.target->scene) layer->scene->composite(cast<Scene>(layer->matte.target->scene), layer->matte.type);
} }
_updateMaskings(layer, rFrameNo); _updateMaskings(layer, rFrameNo);