diff --git a/spine-cpp/spine-cpp/src/spine/AnimationState.cpp b/spine-cpp/spine-cpp/src/spine/AnimationState.cpp index ad0fc842d..a3ec1aa47 100644 --- a/spine-cpp/spine-cpp/src/spine/AnimationState.cpp +++ b/spine-cpp/spine-cpp/src/spine/AnimationState.cpp @@ -978,7 +978,7 @@ void AnimationState::animationsChanged() { for (int i = 0, n = static_cast(_tracks.size()); i < n; ++i) { TrackEntry *entry = _tracks[i]; - if (entry != NULL && entry->_mixBlend != MixBlend_Add) { + if (entry != NULL && (i == 0 ||entry->_mixBlend != MixBlend_Add)) { entry->setTimelineData(NULL, _mixingTo, _propertyIDs); } } diff --git a/spine-cpp/spine-cpp/src/spine/DrawOrderTimeline.cpp b/spine-cpp/spine-cpp/src/spine/DrawOrderTimeline.cpp index 457ff0a2c..0bea46881 100644 --- a/spine-cpp/spine-cpp/src/spine/DrawOrderTimeline.cpp +++ b/spine-cpp/spine-cpp/src/spine/DrawOrderTimeline.cpp @@ -68,7 +68,7 @@ void DrawOrderTimeline::apply(Skeleton &skeleton, float lastTime, float time, Ve } if (time < _frames[0]) { - if (blend == MixBlend_Setup) { + if (blend == MixBlend_Setup || blend == MixBlend_First) { drawOrder.clear(); drawOrder.ensureCapacity(slots.size()); for (int i = 0, n = static_cast(slots.size()); i < n; ++i) {