From 3136cac6e452b2047a800213d3e3837f40b0758f Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Wed, 26 Mar 2025 20:49:23 +0900 Subject: [PATCH] Revert "lottie: minor optimization" This reverts commit 51bc7e81f818b519fe975c863f9d06ede23881e4. note: side effect! --- src/loaders/lottie/tvgLottieBuilder.cpp | 11 +++++------ src/loaders/lottie/tvgLottieParser.cpp | 7 ------- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/src/loaders/lottie/tvgLottieBuilder.cpp b/src/loaders/lottie/tvgLottieBuilder.cpp index ac2e6103..48a47a85 100644 --- a/src/loaders/lottie/tvgLottieBuilder.cpp +++ b/src/loaders/lottie/tvgLottieBuilder.cpp @@ -1039,14 +1039,13 @@ void LottieBuilder::updateText(LottieLayer* layer, float frameNo) auto& textGroupMatrix = textGroup->transform(); auto shape = text->pooling(); shape->reset(); - ARRAY_FOREACH(p, glyph->children) { - //Either group of a single path - if ((*p)->type == LottieObject::Group) { - ARRAY_FOREACH(p2, static_cast(*p)->children) { - static_cast(*p2)->pathset(frameNo, SHAPE(shape)->rs.path, nullptr, tween, exps); + auto group = static_cast(*p); + ARRAY_FOREACH(p, group->children) { + if (static_cast(*p)->pathset(frameNo, SHAPE(shape)->rs.path, nullptr, tween, exps)) { + PAINT(shape)->update(RenderUpdateFlag::Path); } - } else static_cast(*p)->pathset(frameNo, SHAPE(shape)->rs.path, nullptr, tween, exps); + } } shape->fill(doc.color.rgb[0], doc.color.rgb[1], doc.color.rgb[2]); shape->translate(cursor.x - textGroupMatrix.e13, cursor.y - textGroupMatrix.e23); diff --git a/src/loaders/lottie/tvgLottieParser.cpp b/src/loaders/lottie/tvgLottieParser.cpp index 367de63d..1220eb94 100644 --- a/src/loaders/lottie/tvgLottieParser.cpp +++ b/src/loaders/lottie/tvgLottieParser.cpp @@ -1079,13 +1079,6 @@ LottieObject* LottieParser::parseGroup() while (nextArrayValue()) parseObject(group->children); } else skip(); } - - if (group->children.count == 1) { - auto child = group->children.first(); - group->children.clear(); - delete(group); - return child; - } group->prepare(); return group;