From 70691e55ffa0bd9498a6a62d3fdb0e1b42eabd8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sun, 31 Aug 2025 10:06:26 +0200 Subject: [PATCH] XML filter air fix --- .../decompiler/flash/abc/avm2/graph/AVM2Graph.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 26284274a..33bc8c745 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 @@ -2124,6 +2124,18 @@ public class AVM2Graph extends Graph { } GraphTargetItem ft = w.commands.get(pos); if (ft instanceof WithAVM2Item) { + WithAVM2Item wi = (WithAVM2Item) ft; + if (wi.scope instanceof SetLocalAVM2Item) { + if (wi.scope.value instanceof NextValueAVM2Item) { + NextValueAVM2Item nextValueItem = (NextValueAVM2Item) wi.scope.value; + if (nextValueItem.index instanceof LocalRegAVM2Item) { + localRegsToKill.add(((LocalRegAVM2Item) nextValueItem.index).regIndex); + } + if (nextValueItem.obj instanceof LocalRegAVM2Item) { + localRegsToKill.add(((LocalRegAVM2Item) nextValueItem.obj).regIndex); + } + } + } pos++; List withCommands = new ArrayList<>(); while (pos < w.commands.size() && !(w.commands.get(pos) instanceof WithEndAVM2Item)) {