Fixed AS1/2 - direct editation - use actionadd instead of add2 on swfver < 5

This commit is contained in:
Jindra Petřík
2021-11-23 19:58:36 +01:00
parent 2e808bb084
commit ffd253b7cf
3 changed files with 5 additions and 3 deletions

View File

@@ -18,6 +18,7 @@ package com.jpexs.decompiler.flash.action.model.operations;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
import com.jpexs.decompiler.flash.action.Action;
import com.jpexs.decompiler.flash.action.swf4.ActionAdd;
import com.jpexs.decompiler.flash.action.swf5.ActionAdd2;
import com.jpexs.decompiler.flash.ecma.EcmaScript;
import com.jpexs.decompiler.flash.ecma.EcmaType;
@@ -85,7 +86,7 @@ public class AddActionItem extends BinaryOpItem implements CompoundableBinaryOp
@Override
public List<GraphSourceItem> toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
return toSourceMerge(localData, generator, leftSide, rightSide, new ActionAdd2());
return toSourceMerge(localData, generator, leftSide, rightSide, version2 ? new ActionAdd2() : new ActionAdd());
}
@Override

View File

@@ -1512,7 +1512,7 @@ public class ActionScript2Parser {
lhs = new MultiplyActionItem(null, null, lhs, rhs);
break;
case PLUS:
lhs = new AddActionItem(null, null, lhs, rhs, true);
lhs = new AddActionItem(null, null, lhs, rhs, swfVersion >= 5);
break;
case XOR:
lhs = new BitXorActionItem(null, null, lhs, rhs);
@@ -1556,7 +1556,7 @@ public class ActionScript2Parser {
assigned = new MultiplyActionItem(null, null, lhs, assigned);
break;
case ASSIGN_PLUS:
assigned = new AddActionItem(null, null, lhs, assigned, true/*TODO:SWF version?*/);
assigned = new AddActionItem(null, null, lhs, assigned, swfVersion >= 5);
break;
case ASSIGN_SHIFT_LEFT:
assigned = new LShiftActionItem(null, null, lhs, assigned);