From d0f33a1bc58da8323340633dcc4a61087470cbef Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Sat, 12 Apr 2025 15:22:51 +0900 Subject: [PATCH] lottie/expressions: hotfix issue: https://github.com/thorvg/thorvg/issues/3400 --- src/loaders/lottie/tvgLottieExpressions.cpp | 6 ++++-- src/loaders/lottie/tvgLottieExpressions.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/loaders/lottie/tvgLottieExpressions.cpp b/src/loaders/lottie/tvgLottieExpressions.cpp index afb04ba1..81dc2d29 100644 --- a/src/loaders/lottie/tvgLottieExpressions.cpp +++ b/src/loaders/lottie/tvgLottieExpressions.cpp @@ -1266,8 +1266,10 @@ static void _buildMath(jerry_value_t context) } -void LottieExpressions::buildGlobal(LottieExpression* exp) +void LottieExpressions::buildGlobal(float frameNo, LottieExpression* exp) { + jerry_object_set_native_ptr(comp, &freeCb, _expcontent(exp, frameNo, exp->layer)); + auto index = jerry_number(exp->layer->ix); jerry_object_set_sz(global, EXP_INDEX, index); jerry_value_free(index); @@ -1382,7 +1384,7 @@ jerry_value_t LottieExpressions::evaluate(float frameNo, LottieExpression* exp) { if (exp->disabled && exp->writables.empty()) return jerry_undefined(); - buildGlobal(exp); + buildGlobal(frameNo, exp); //main composition buildComp(exp->comp, frameNo, exp); diff --git a/src/loaders/lottie/tvgLottieExpressions.h b/src/loaders/lottie/tvgLottieExpressions.h index ea4ee7b5..e701ba25 100644 --- a/src/loaders/lottie/tvgLottieExpressions.h +++ b/src/loaders/lottie/tvgLottieExpressions.h @@ -140,7 +140,7 @@ private: void buildComp(LottieComposition* comp, float frameNo, LottieExpression* exp); void buildComp(jerry_value_t context, float frameNo, LottieLayer* comp, LottieExpression* exp); - void buildGlobal(LottieExpression* exp); + void buildGlobal(float frameNo, LottieExpression* exp); void buildWritables(LottieExpression* exp); Point toPoint2d(jerry_value_t obj);