Fixed synchronization in uninitialized class fields detector

Escaping placeobject.name
Better error log messages in some cases
This commit is contained in:
Jindra Petřík
2025-07-02 20:56:20 +02:00
parent 6375f69b3e
commit 0162e90871
17 changed files with 376 additions and 307 deletions
@@ -527,7 +527,11 @@ public class ActionPanel extends JPanel implements SearchListener<ScriptSearchRe
if (!decompile) {
decompiledText = new HighlightedText(Helper.getDecompilationSkippedComment());
} else {
decompiledText = SWF.getFromCache(asm);
if (src.getSwf().needsCalculatingAS2UninitializeClassTraits(src) && src.getSwf().isDetectingUninitialized()) {
decompiledText = null;
} else {
decompiledText = SWF.getFromCache(asm);
}
}
HighlightedText fdecompiledText = decompiledText;
@@ -589,7 +593,6 @@ public class ActionPanel extends JPanel implements SearchListener<ScriptSearchRe
});
CancellableWorker that = this;
//if (withUninitializedClassFields)
ProgressListener progressListener = new ProgressListener() {
@Override
public void progress(int p) {
@@ -602,6 +605,13 @@ public class ActionPanel extends JPanel implements SearchListener<ScriptSearchRe
};
UninitializedClassFieldsDetector det = asm.getSwf().getUninitializedClassFieldsDetector();
det.addProgressListener(progressListener);
if (src.getSwf().needsCalculatingAS2UninitializeClassTraits(src)) {
src.getSwf().waitForUninitializedClassDetector();
}
if (isCancelled()) {
return null;
}
try {
HighlightedText htext = SWF.getCached(asm, innerActions);
ActionList finalActions = innerActions;