mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-25 15:10:45 +00:00
Fixed AS3 getslot/setslot in certain situations
This commit is contained in:
+3
-1
@@ -45,7 +45,9 @@ public class GetSlotIns extends InstructionDefinition {
|
||||
GraphTargetItem obj = objinreg.getThroughRegister();
|
||||
Reference<GraphTargetItem> realObj = new Reference<>(null);
|
||||
Multiname slotname = InstructionDefinition.searchSlotName(slotIndex, localData, obj, realObj);
|
||||
obj = realObj.getVal();
|
||||
if (realObj.getVal() != null) {
|
||||
obj = realObj.getVal();
|
||||
}
|
||||
stack.push(new GetSlotAVM2Item(ins, localData.lineStartInstruction, obj, objinreg, slotIndex, slotname));
|
||||
}
|
||||
|
||||
|
||||
+6
-3
@@ -70,10 +70,13 @@ public class SetSlotIns extends InstructionDefinition implements SetTypeIns {
|
||||
GraphTargetItem objnoreg = obj;
|
||||
obj = obj.getThroughRegister();
|
||||
|
||||
Reference<GraphTargetItem> realObj = new Reference<>(null);
|
||||
Multiname slotname = InstructionDefinition.searchSlotName(slotIndex, localData, obj, realObj);
|
||||
Reference<GraphTargetItem> realObjRef = new Reference<>(null);
|
||||
Multiname slotname = InstructionDefinition.searchSlotName(slotIndex, localData, obj, realObjRef);
|
||||
|
||||
obj = realObj.getVal();
|
||||
GraphTargetItem realObj = realObjRef.getVal();
|
||||
if (realObj != null) {
|
||||
obj = realObj;
|
||||
}
|
||||
|
||||
if (slotname != null) {
|
||||
if (value instanceof LocalRegAVM2Item) {
|
||||
|
||||
Reference in New Issue
Block a user