diff --git a/src/loaders/lottie/tvgLottieBuilder.cpp b/src/loaders/lottie/tvgLottieBuilder.cpp index e86301a3..a6c7bfe9 100644 --- a/src/loaders/lottie/tvgLottieBuilder.cpp +++ b/src/loaders/lottie/tvgLottieBuilder.cpp @@ -437,7 +437,7 @@ static void _repeat(LottieGroup* parent, unique_ptr path, RenderContext* parent->scene->push(cast(*shape)); propagators.push(*shape); } - } else { + } else if (!shapes.empty()) { for (auto shape = shapes.end() - 1; shape >= shapes.begin(); --shape) { parent->scene->push(cast(*shape)); propagators.push(*shape); diff --git a/src/loaders/lottie/tvgLottieParser.cpp b/src/loaders/lottie/tvgLottieParser.cpp index 3cb1a84f..b0a56872 100644 --- a/src/loaders/lottie/tvgLottieParser.cpp +++ b/src/loaders/lottie/tvgLottieParser.cpp @@ -828,7 +828,7 @@ LottieRepeater* LottieParser::parseRepeater() if (parseCommon(repeater, key)) continue; else if (KEY_AS("c")) parseProperty(repeater->copies); else if (KEY_AS("o")) parseProperty(repeater->offset); - else if (KEY_AS("m")) repeater->inorder = getInt(); + else if (KEY_AS("m")) repeater->inorder = getInt() == 2; else if (KEY_AS("tr")) { enterObject();