From e84550ebe8643c3de53ab3b8966fdc744ad963fe Mon Sep 17 00:00:00 2001 From: "honfika@gmail.com" Date: Fri, 7 Nov 2014 23:02:18 +0100 Subject: [PATCH] fixCharactersOrder fix --- libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java index 8e42b9c26..04f29390e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java @@ -294,6 +294,7 @@ public final class SWF implements SWFContainerItem, Timelined { if (checkAll || tag.isModified()) { Set needed = new HashSet<>(); tag.getNeededCharacters(needed); + boolean moved = false; for (Integer id : needed) { if (!addedCharacterIds.contains(id)) { CharacterTag neededCharacter = characters.get(id); @@ -306,8 +307,14 @@ public final class SWF implements SWFContainerItem, Timelined { tags.remove(neededCharacter); tags.add(i, neededCharacter); movedTags.add(neededCharacter); + moved = true; } } + + if (moved) { + i--; + continue; + } } if (tag instanceof CharacterTag) { addedCharacterIds.add(((CharacterTag) tag).getCharacterId());