diff --git a/src/loaders/lottie/tvgLottieLoader.cpp b/src/loaders/lottie/tvgLottieLoader.cpp index a7f3bad2..e09f27de 100644 --- a/src/loaders/lottie/tvgLottieLoader.cpp +++ b/src/loaders/lottie/tvgLottieLoader.cpp @@ -299,6 +299,7 @@ bool LottieLoader::override(const char* slot) //parsing slot json LottieParser parser(temp, dirName); + parser.comp = comp; auto idx = 0; while (auto sid = parser.sid(idx == 0)) { diff --git a/src/loaders/lottie/tvgLottieParser.cpp b/src/loaders/lottie/tvgLottieParser.cpp index 33c282a1..3b63e767 100644 --- a/src/loaders/lottie/tvgLottieParser.cpp +++ b/src/loaders/lottie/tvgLottieParser.cpp @@ -1444,7 +1444,7 @@ bool LottieParser::apply(LottieSlot* slot) case LottieProperty::Type::Color: { obj = new LottieSolid; context.parent = obj; - parseSlotProperty(static_cast(obj)->color); + parseSlotProperty(static_cast(obj)->color); break; } case LottieProperty::Type::TextDoc: { diff --git a/src/loaders/lottie/tvgLottieProperty.h b/src/loaders/lottie/tvgLottieProperty.h index 55522476..8190326b 100644 --- a/src/loaders/lottie/tvgLottieProperty.h +++ b/src/loaders/lottie/tvgLottieProperty.h @@ -329,12 +329,12 @@ struct LottieGenericProperty : LottieProperty return operator()(frameNo); } - T& operator=(const T& other) + LottieGenericProperty& operator=(const LottieGenericProperty& other) { //shallow copy, used for slot overriding if (other.frames) { frames = other.frames; - const_cast(other).frames = nullptr; + const_cast&>(other).frames = nullptr; } else value = other.value; return *this; }