diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java index f01b08cba..8f128925c 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java @@ -66,10 +66,11 @@ public class Bone extends PosedActive { return children; } - void resetUpdate () { + void resetUpdate (Skeleton skeleton) { + if (applied.update != skeleton.update) return; applied.update = 0; Bone[] children = this.children.items; for (int i = 0, n = this.children.size; i < n; i++) - children[i].resetUpdate(); + children[i].resetUpdate(skeleton); } } diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java index e6da05415..ae15e70c6 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java @@ -166,6 +166,7 @@ public class IkConstraint extends Constraint { int timelineCount = data.animation.timelines.size; Bone[] bones = skeleton.bones.items; for (int i = 0; i < timelineCount; i++) - if (timelines[i] instanceof BoneTimeline boneTimeline) bones[boneTimeline.getBoneIndex()].resetUpdate(); + if (timelines[i] instanceof BoneTimeline boneTimeline) bones[boneTimeline.getBoneIndex()].resetUpdate(skeleton); } void sort (Skeleton skeleton) { diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraint.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraint.java index 7d2b65772..0e50383c7 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraint.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraint.java @@ -97,6 +97,7 @@ public class TransformConstraint extends Constraint