Fixed: #2315 AS3 direct editation - switching scripts during editation causing missing scripts

This commit is contained in:
Jindra Petřík
2024-09-23 21:52:25 +02:00
parent 6abe4e1d5e
commit ba596c3698
3 changed files with 15 additions and 8 deletions
@@ -5387,6 +5387,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
updateUi();
}
clearEditingStatus();
reload(false, false);
if (source == dumpTree) {
@@ -6083,10 +6084,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
final ScriptPack scriptLeaf = ((AS3Package) treeItem).getCompoundInitializerPack();
if (Main.isInited() && (!Main.isWorking() || Main.isDebugging())) {
ABCPanel abcPanel = getABCPanel();
abcPanel.detailPanel.methodTraitPanel.methodCodePanel.clear();
abcPanel.setAbc(scriptLeaf.abc);
abcPanel.decompiledTextArea.setScript(scriptLeaf, true);
abcPanel.decompiledTextArea.setNoTrait();
abcPanel.setScript(scriptLeaf);
abcPanel.setCompound(true);
}
@@ -6100,10 +6098,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
final ScriptPack scriptLeaf = (ScriptPack) treeItem;
if (Main.isInited() && (!Main.isWorking() || Main.isDebugging())) {
ABCPanel abcPanel = getABCPanel();
abcPanel.detailPanel.methodTraitPanel.methodCodePanel.clear();
abcPanel.setAbc(scriptLeaf.abc);
abcPanel.decompiledTextArea.setScript(scriptLeaf, true);
abcPanel.decompiledTextArea.setNoTrait();
abcPanel.setScript(scriptLeaf);
abcPanel.setCompound(!scriptLeaf.isSimple);
}
@@ -2102,4 +2102,14 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener<Scr
flexLabel.setVisible(useFlex && !value);
editDecompiledButton.setEnabled(!value);
}
public void setScript(ScriptPack scriptPack) {
setDecompiledEditMode(false);
detailPanel.setEditMode(false);
detailPanel.methodTraitPanel.methodCodePanel.clear();
setAbc(scriptPack.abc);
decompiledTextArea.setScript(scriptPack, true);
decompiledTextArea.setNoTrait();
}
}