Fixed #1865 ConcurrentModificationException on SWF close

This commit is contained in:
Jindra Petřík
2022-11-11 21:34:11 +01:00
parent 968fd92cd2
commit cc0b5e9d76
3 changed files with 7 additions and 1 deletions

View File

@@ -24,6 +24,7 @@ All notable changes to this project will be documented in this file.
- [#1863] Export to PDF - cannot read fonts with long CMAP
- Go to document class when switched to tag list view
- Copy/Move with dependencies order of tags
- [#1865] ConcurrentModificationException on SWF close
## [16.2.0] - 2022-11-08
### Added
@@ -2549,6 +2550,7 @@ All notable changes to this project will be documented in this file.
[#1701]: https://www.free-decompiler.com/flash/issues/1701
[#1864]: https://www.free-decompiler.com/flash/issues/1864
[#1863]: https://www.free-decompiler.com/flash/issues/1863
[#1865]: https://www.free-decompiler.com/flash/issues/1865
[#1414]: https://www.free-decompiler.com/flash/issues/1414
[#1755]: https://www.free-decompiler.com/flash/issues/1755
[#1460]: https://www.free-decompiler.com/flash/issues/1460

View File

@@ -108,6 +108,9 @@ public abstract class ButtonTag extends DrawableTag implements Timelined {
}
public DefineButtonSoundTag getSounds() {
if (swf == null) {
return null;
}
return (DefineButtonSoundTag) swf.getCharacterIdTag(getCharacterId(), DefineButtonSoundTag.ID);
}

View File

@@ -4942,7 +4942,8 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
}
private static void calculateMissingNeededCharacters(Map<TreeItem, Set<Integer>> missingNeededCharacters, Timelined tim) {
for (Tag t : tim.getTags()) {
List<Tag> tags = tim.getTags().toArrayList();
for (Tag t : tags) {
missingNeededCharacters.put(t, t.getMissingNeededCharacters());
if (t instanceof DefineSpriteTag) {
calculateMissingNeededCharacters(missingNeededCharacters, (DefineSpriteTag) t);