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 22fa3336d..050ca0e7b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java @@ -1790,6 +1790,15 @@ public final class SWF implements SWFContainerItem, Timelined { subNodes.addAll(timeline.getAS2RootPackage().subPackages.values()); subNodes.addAll(timeline.getAS2RootPackage().scripts.values()); + for (ASMSource ass : timeline.asmSources) { + if (ass instanceof DoInitActionTag) { + String exportName = getExportName(((DoInitActionTag) ass).spriteId); + if (exportName == null) { + subNodes.add(ass); + } + } + } + for (Tag tag : timeline.otherTags) { boolean hasInnerFrames = false; List tagSubNodes = new ArrayList<>(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Timeline.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Timeline.java index a0e2fa6f9..f65b007df 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Timeline.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Timeline.java @@ -99,7 +99,7 @@ public class Timeline { private final Map depthMaxFrame = new HashMap<>(); - private final List asmSources = new ArrayList<>(); + public final List asmSources = new ArrayList<>(); private final List asmSourceContainers = new ArrayList<>(); @@ -448,7 +448,9 @@ public class Timeline { if (asm instanceof DoInitActionTag) { DoInitActionTag initAction = (DoInitActionTag) asm; String path = swf.getExportName(initAction.spriteId); - path = path != null ? path : "__doinit__" + initAction.spriteId; + if (path == null) { + continue; + } if (path.isEmpty()) { path = initAction.getExportFileName(); }