diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/OpenableList.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/OpenableList.java index cf4597fa2..2c7a1d795 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/OpenableList.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/OpenableList.java @@ -18,7 +18,9 @@ package com.jpexs.decompiler.flash.treeitems; import com.jpexs.decompiler.flash.Bundle; import com.jpexs.decompiler.flash.OpenableSourceInfo; +import com.jpexs.decompiler.flash.SWF; import com.jpexs.decompiler.flash.SWFContainerItem; +import com.jpexs.decompiler.flash.abc.ABC; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; @@ -184,4 +186,17 @@ public class OpenableList implements List, SWFContainerItem { } return false; } + + public void setModified() { + for (Openable openable : this) { + if (openable instanceof SWF) { + SWF swf = (SWF) openable; + swf.setModified(true); + } + if (openable instanceof ABC) { + ABC abc = (ABC) openable; + abc.getSwf().setModified(true); + } + } + } } diff --git a/src/com/jpexs/decompiler/flash/gui/FilesChangedDialog.java b/src/com/jpexs/decompiler/flash/gui/FilesChangedDialog.java index 2fc5e7c8a..a26a60f82 100644 --- a/src/com/jpexs/decompiler/flash/gui/FilesChangedDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/FilesChangedDialog.java @@ -16,6 +16,10 @@ */ package com.jpexs.decompiler.flash.gui; +import com.jpexs.decompiler.flash.SWF; +import com.jpexs.decompiler.flash.abc.ABC; +import com.jpexs.decompiler.flash.treeitems.Openable; +import com.jpexs.decompiler.flash.treeitems.OpenableList; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; @@ -150,8 +154,8 @@ public class FilesChangedDialog extends AppDialog { filesList.setModel(listModel); } - private void cancelButtonActionPerformed(ActionEvent evt) { - clearList(); + private void cancelButtonActionPerformed(ActionEvent evt) { + clearList(); setVisible(false); } } diff --git a/src/com/jpexs/decompiler/flash/gui/Main.java b/src/com/jpexs/decompiler/flash/gui/Main.java index 880de86f6..2e3f6b8af 100644 --- a/src/com/jpexs/decompiler/flash/gui/Main.java +++ b/src/com/jpexs/decompiler/flash/gui/Main.java @@ -2364,12 +2364,19 @@ public class Main { continue; } - for (OpenableSourceInfo info : sourceInfos) { - final String infoFile = info.getFile(); - if (infoFile != null && new File(infoFile).equals(fullPath)) { + for (OpenableSourceInfo info : sourceInfos) { + final String infoFile = info.getFile(); + if (infoFile != null && new File(infoFile).equals(fullPath)) { + for (OpenableList list :Main.getMainFrame().getPanel().getSwfs()) { + if (info == list.sourceInfo) { + list.setModified(); + } + } + View.execInEventDispatchLater(new Runnable() { @Override public void run() { + mainFrame.getPanel().refreshTree(); if (filesChangedDialog == null) { filesChangedDialog = new FilesChangedDialog(Main.mainFrame.getWindow()); }