diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java index 6c1ccfa45..d83abf413 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java @@ -783,7 +783,7 @@ public class AVM2Graph extends Graph { } @Override - protected void finalProcess(List list, int level, FinalProcessLocalData localData) { + protected void finalProcess(List list, int level, FinalProcessLocalData localData) throws InterruptedException { if (level == 0) { if (!list.isEmpty()) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionGraph.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionGraph.java index 21f6eb875..2292f5ed1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionGraph.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionGraph.java @@ -94,7 +94,7 @@ public class ActionGraph extends Graph { } @Override - protected void finalProcess(List list, int level, FinalProcessLocalData localData) { + protected void finalProcess(List list, int level, FinalProcessLocalData localData) throws InterruptedException { List ret = Action.checkClass(list); if (ret != list) { list.clear(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java index 3db40b03a..4f9bb951e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java @@ -454,7 +454,7 @@ public class Graph { public void finalProcessStack(TranslateStack stack, List output) { } - private void finalProcessAll(List list, int level, FinalProcessLocalData localData) { + private void finalProcessAll(List list, int level, FinalProcessLocalData localData) throws InterruptedException { finalProcess(list, level, localData); for (GraphTargetItem item : list) { if (item instanceof Block) { @@ -522,11 +522,14 @@ public class Graph { } } - protected void finalProcess(List list, int level, FinalProcessLocalData localData) { + protected void finalProcess(List list, int level, FinalProcessLocalData localData) throws InterruptedException { //For detection based on debug line information Set removeFromList = new HashSet<>(); for (int i = 0; i < list.size(); i++) { + if (Thread.currentThread().isInterrupted()) { + throw new InterruptedException(); + } if (list.get(i) instanceof ForItem) { ForItem fori = (ForItem) list.get(i);