From ca9274539e57d2949e9db89b7b557e33f18f5216 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Sun, 27 Apr 2014 22:02:51 +0200 Subject: [PATCH] setSkin should attach setup pose attachments if there was no old skin. --- spine-c/src/spine/Skeleton.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/spine-c/src/spine/Skeleton.c b/spine-c/src/spine/Skeleton.c index 87404bc1b..13c948f6f 100644 --- a/spine-c/src/spine/Skeleton.c +++ b/spine-c/src/spine/Skeleton.c @@ -163,7 +163,17 @@ int spSkeleton_setSkinByName (spSkeleton* self, const char* skinName) { } void spSkeleton_setSkin (spSkeleton* self, spSkin* newSkin) { - if (self->skin && newSkin) spSkin_attachAll(newSkin, self, self->skin); + if (!self->skin) { + int i; + for (i = 0; i < self->slotCount; ++i) { + spSlot* slot = self->slots[i]; + if (slot->data->attachmentName) { + spAttachment* attachment = spSkin_getAttachment(newSkin, i, slot->data->attachmentName); + if (attachment) spSlot_setAttachment(slot, attachment); + } + } + } else if (newSkin) /**/ + spSkin_attachAll(newSkin, self, self->skin); CONST_CAST(spSkin*, self->skin) = newSkin; }