From 8b2024a8f4383e088aaeb9813c4655d22f93f792 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 ebe0ae81..99212946 100644 --- a/src/loaders/lottie/tvgLottieExpressions.cpp +++ b/src/loaders/lottie/tvgLottieExpressions.cpp @@ -1283,8 +1283,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->idx); jerry_object_set_sz(global, EXP_INDEX, index); jerry_value_free(index); @@ -1392,7 +1394,7 @@ jerry_value_t LottieExpressions::evaluate(float frameNo, LottieExpression* exp) { if (exp->disabled) 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 4a3c2dcf..60516374 100644 --- a/src/loaders/lottie/tvgLottieExpressions.h +++ b/src/loaders/lottie/tvgLottieExpressions.h @@ -139,7 +139,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); //global object, attributes, methods jerry_value_t global;