swf disposing fixes

This commit is contained in:
honfika@gmail.com
2015-02-27 01:56:36 +01:00
parent 2befbcb65d
commit 67fb24a7fd
6 changed files with 56 additions and 8 deletions

View File

@@ -303,6 +303,35 @@ public final class SWF implements SWFContainerItem, Timelined {
characters = null;
}
public void clearTagSwfs() {
resetTimelines(this);
updateCharacters();
for (Tag tag : tags) {
if (tag instanceof DefineSpriteTag) {
DefineSpriteTag spriteTag = (DefineSpriteTag) tag;
for (Tag tag1 : spriteTag.subTags) {
tag1.setSwf(null);
}
spriteTag.subTags.clear();
}
tag.setSwf(null);
}
tags.clear();
abcList.clear();
as2Cache.clear();
as3Cache.clear();
timeline = null;
dumpInfo = null;
jtt = null;
binaryData = null;
}
public Map<Integer, CharacterTag> getCharacters() {
if (characters == null) {
synchronized (this) {