diff --git a/spine-ts/core/src/AnimationState.ts b/spine-ts/core/src/AnimationState.ts index b9d6c5266..8effa4fe4 100644 --- a/spine-ts/core/src/AnimationState.ts +++ b/spine-ts/core/src/AnimationState.ts @@ -172,8 +172,11 @@ module spine { let pose = timelineData[ii] >= AnimationState.FIRST ? MixPose.setup : currentPose; if (timeline instanceof RotateTimeline) { this.applyRotateTimeline(timeline, skeleton, animationTime, mix, pose, timelinesRotation, ii << 1, firstFrame); - } else + } else { + // This fixes the WebKit 602 specific issue described at http://esotericsoftware.com/forum/iOS-10-disappearing-graphics-10109 + Utils.webkit602BugfixHelper(mix, pose); timeline.apply(skeleton, animationLast, animationTime, events, mix, pose, MixDirection.in); + } } } this.queueEvents(current, animationTime); @@ -242,6 +245,8 @@ module spine { if (timeline instanceof RotateTimeline) this.applyRotateTimeline(timeline, skeleton, animationTime, alpha, pose, timelinesRotation, i << 1, firstFrame); else { + // This fixes the WebKit 602 specific issue described at http://esotericsoftware.com/forum/iOS-10-disappearing-graphics-10109 + Utils.webkit602BugfixHelper(alpha, pose); timeline.apply(skeleton, animationLast, animationTime, events, alpha, pose, MixDirection.out); } } diff --git a/spine-ts/core/src/Utils.ts b/spine-ts/core/src/Utils.ts index 2cdf5ccf4..fbd87161b 100644 --- a/spine-ts/core/src/Utils.ts +++ b/spine-ts/core/src/Utils.ts @@ -259,6 +259,11 @@ module spine { static toSinglePrecision (value: number) { return Utils.SUPPORTS_TYPED_ARRAYS ? Math.fround(value) : value; } + + // This function is used to fix WebKit 602 specific issue described at http://esotericsoftware.com/forum/iOS-10-disappearing-graphics-10109 + static webkit602BugfixHelper (alpha: number, pose: MixPose) { + + } } export class DebugUtils {