diff --git a/src/loaders/lottie/tvgLottieBuilder.cpp b/src/loaders/lottie/tvgLottieBuilder.cpp index 27e68aca..7013cf51 100644 --- a/src/loaders/lottie/tvgLottieBuilder.cpp +++ b/src/loaders/lottie/tvgLottieBuilder.cpp @@ -817,12 +817,8 @@ static void _updatePrecomp(LottieLayer* precomp, float frameNo) //clip the layer viewport if (precomp->w > 0 && precomp->h > 0) { - if (!precomp->cache.clipper) { - precomp->cache.clipper = Shape::gen().release(); - PP(precomp->cache.clipper)->ref(); - precomp->cache.clipper->appendRect(0, 0, static_cast(precomp->w), static_cast(precomp->h)); - } - auto clipper = precomp->cache.clipper; + auto clipper = Shape::gen().release(); + clipper->appendRect(0, 0, static_cast(precomp->w), static_cast(precomp->h)); clipper->transform(precomp->cache.matrix); //TODO: remove the intermediate scene.... diff --git a/src/loaders/lottie/tvgLottieModel.cpp b/src/loaders/lottie/tvgLottieModel.cpp index ffc416e7..73f3e67a 100644 --- a/src/loaders/lottie/tvgLottieModel.cpp +++ b/src/loaders/lottie/tvgLottieModel.cpp @@ -156,8 +156,6 @@ LottieLayer::~LottieLayer() delete(matte.target); delete(transform); - - if (cache.clipper && PP(cache.clipper)->unref() == 0) delete(cache.clipper); } void LottieLayer::prepare() diff --git a/src/loaders/lottie/tvgLottieModel.h b/src/loaders/lottie/tvgLottieModel.h index d930db89..68263c4a 100644 --- a/src/loaders/lottie/tvgLottieModel.h +++ b/src/loaders/lottie/tvgLottieModel.h @@ -524,9 +524,6 @@ struct LottieLayer : LottieGroup float frameNo = -1.0f; Matrix matrix; uint8_t opacity; - - //tvg render data - tvg::Shape* clipper = nullptr; } cache; Type type = Null;