diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/Action.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/Action.java index 5f2e4e1d0..2e9d9ec7e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/Action.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/Action.java @@ -607,7 +607,7 @@ public abstract class Action implements GraphSourceItem { if (fixBranch == 0) { //jump writer.newLine(); writer.appendNoHilight("Jump loc"); - writer.appendNoHilight(Helper.formatAddress(a.getAddress() + a.getTotalActionLength() + ((ActionIf) a).getJumpOffset())); + writer.appendNoHilight(Helper.formatAddress(((ActionIf) a).getTargetAddress())); } else { //nojump, ignore } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionList.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionList.java index a5a866943..7b1813646 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionList.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/ActionList.java @@ -115,13 +115,13 @@ public class ActionList extends ArrayList { Action a = iterator.next(); if (a instanceof ActionJump) { ActionJump aJump = (ActionJump) a; - long ref = aJump.getAddress() + aJump.getTotalActionLength() + aJump.getJumpOffset(); + long ref = aJump.getTargetAddress(); if (target.getAddress() == ref) { return aJump; } } else if (a instanceof ActionIf) { ActionIf aIf = (ActionIf) a; - long ref = aIf.getAddress() + aIf.getTotalActionLength() + aIf.getJumpOffset(); + long ref = aIf.getTargetAddress(); if (target.getAddress() == ref) { return aIf; } @@ -429,14 +429,14 @@ public class ActionList extends ArrayList { if (action instanceof ActionJump) { ActionJump aJump = (ActionJump) action; - long ref = aJump.getAddress() + aJump.getTotalActionLength() + aJump.getJumpOffset(); + long ref = aJump.getTargetAddress(); int targetIndex = getIndexByAddress(ref); if (targetIndex != -1 && isReachable[targetIndex] == 0) { isReachable[targetIndex] = 1; } } else if (action instanceof ActionIf) { ActionIf aIf = (ActionIf) action; - long ref = aIf.getAddress() + aIf.getTotalActionLength() + aIf.getJumpOffset(); + long ref = aIf.getTargetAddress(); int targetIndex = getIndexByAddress(ref); if (targetIndex != -1 && isReachable[targetIndex] == 0) { isReachable[targetIndex] = 1;