mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-06-30 07:26:29 +00:00
Fixed: #2320 AS3 direct editation - modified flag of scripts vanishes after editing other script with and having error
This commit is contained in:
@@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file.
|
||||
### Fixed
|
||||
- [#2319] AS3 Compound assignments problems in some cases
|
||||
- [#2319] AS3 direct editation - class gets removed after pressing cancel
|
||||
- [#2320] AS3 direct editation - modified flag of scripts vanishes after editing other script with and having error
|
||||
|
||||
## [21.1.0] - 2024-09-23
|
||||
### Added
|
||||
@@ -3574,6 +3575,7 @@ Major version of SWF to XML export changed to 2.
|
||||
[alpha 8]: https://github.com/jindrapetrik/jpexs-decompiler/compare/alpha7...alpha8
|
||||
[alpha 7]: https://github.com/jindrapetrik/jpexs-decompiler/releases/tag/alpha7
|
||||
[#2319]: https://www.free-decompiler.com/flash/issues/2319
|
||||
[#2320]: https://www.free-decompiler.com/flash/issues/2320
|
||||
[#943]: https://www.free-decompiler.com/flash/issues/943
|
||||
[#1812]: https://www.free-decompiler.com/flash/issues/1812
|
||||
[#2287]: https://www.free-decompiler.com/flash/issues/2287
|
||||
|
||||
@@ -131,8 +131,10 @@ import java.io.OutputStream;
|
||||
import java.util.AbstractMap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.Stack;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
@@ -3013,6 +3015,12 @@ public class ActionScript3Parser {
|
||||
ActionScript3Parser parser = new ActionScript3Parser(abcIndex);
|
||||
boolean success = false;
|
||||
ABC originalAbc = ((ABCContainerTag) ((Tag) abc.parentTag).cloneTag()).getABC();
|
||||
Set<Integer> modifiedScripts = new HashSet<>();
|
||||
for (int i = 0; i < abc.script_info.size(); i++) {
|
||||
if (abc.script_info.get(i).isModified()) {
|
||||
modifiedScripts.add(i);
|
||||
}
|
||||
}
|
||||
try {
|
||||
parser.addScript(src, fileName, classPos, scriptIndex, documentClass, abc);
|
||||
success = true;
|
||||
@@ -3027,6 +3035,12 @@ public class ActionScript3Parser {
|
||||
abc.script_info = originalAbc.script_info;
|
||||
abc.bodies = originalAbc.bodies;
|
||||
abc.resetMethodIndexing();
|
||||
|
||||
for (int i = 0; i < abc.script_info.size(); i++) {
|
||||
if (modifiedScripts.contains(i)) {
|
||||
abc.script_info.get(i).setModified(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user