From: kramm Date: Mon, 9 Jun 2008 10:29:52 +0000 (+0000) Subject: cut frames *after* writing instances, only cut non-define tags X-Git-Tag: buttons-working~141 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=02c13264439ceeaee31c9a61a0ea99230945f663 cut frames *after* writing instances, only cut non-define tags --- diff --git a/src/swfc.c b/src/swfc.c index eb18eba..ee86802 100644 --- a/src/swfc.c +++ b/src/swfc.c @@ -816,7 +816,8 @@ TAG* removeFromTo(TAG*from, TAG*to) TAG*save = from->prev; while(from!=to) { TAG*next = from->next; - swf_DeleteTag(from); + if(swf_isAllowedSpriteTag(from)) + swf_DeleteTag(from); from = next; } save->next = 0; @@ -953,9 +954,6 @@ static void s_endSprite() { SRECT r = currentrect; - if(stack[stackpos].cut) - tag = removeFromTo(stack[stackpos].cut, tag); - stackpos--; instance_t *i; stringarray_t* index =dictionary_index(&instances); @@ -970,6 +968,9 @@ static void s_endSprite() } } + if(stack[stackpos].cut) + tag = removeFromTo(stack[stackpos].cut, tag); + // the writeInstance loop above may have inserted tags after what used yo be the current tag, // so let's make sure 'tag' point to the current tag again. while (tag->next)