diff --git a/trunk/src/com/jpexs/decompiler/flash/tags/DefineButton2Tag.java b/trunk/src/com/jpexs/decompiler/flash/tags/DefineButton2Tag.java index 6860652d5..28ec5ea76 100644 --- a/trunk/src/com/jpexs/decompiler/flash/tags/DefineButton2Tag.java +++ b/trunk/src/com/jpexs/decompiler/flash/tags/DefineButton2Tag.java @@ -207,4 +207,9 @@ public class DefineButton2Tag extends CharacterTag implements Container, Bounded } return rect; } + + @Override + public boolean trackAsMenu() { + return trackAsMenu; + } } diff --git a/trunk/src/com/jpexs/decompiler/flash/tags/DefineButtonTag.java b/trunk/src/com/jpexs/decompiler/flash/tags/DefineButtonTag.java index 86a714dcf..9e44c5e58 100644 --- a/trunk/src/com/jpexs/decompiler/flash/tags/DefineButtonTag.java +++ b/trunk/src/com/jpexs/decompiler/flash/tags/DefineButtonTag.java @@ -222,4 +222,9 @@ public class DefineButtonTag extends CharacterTag implements ASMSource, BoundedT public void removeDisassemblyListener(DisassemblyListener listener) { listeners.remove(listener); } + + @Override + public boolean trackAsMenu() { + return false; + } } diff --git a/trunk/src/com/jpexs/decompiler/flash/tags/base/ButtonTag.java b/trunk/src/com/jpexs/decompiler/flash/tags/base/ButtonTag.java index 5f929bda8..d863340a9 100644 --- a/trunk/src/com/jpexs/decompiler/flash/tags/base/ButtonTag.java +++ b/trunk/src/com/jpexs/decompiler/flash/tags/base/ButtonTag.java @@ -26,4 +26,6 @@ import java.util.List; public interface ButtonTag { public List getRecords(); + + public boolean trackAsMenu(); } diff --git a/trunk/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java b/trunk/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java index 10e0dc1f2..06dcd5920 100644 --- a/trunk/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java +++ b/trunk/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java @@ -865,6 +865,9 @@ public class XFLConverter { symbolStr += " symbolType=\"graphic\""; } else if (symbol instanceof ButtonTag) { symbolStr += " symbolType=\"button\""; + if (((ButtonTag) symbol).trackAsMenu()) { + symbolStr += " trackAsMenu=\"true\""; + } } if (characterClasses.containsKey(symbol.getCharacterID())) { symbolStr += " linkageExportForAS=\"true\" linkageClassName=\"" + characterClasses.get(symbol.getCharacterID()) + "\""; @@ -1108,11 +1111,9 @@ public class XFLConverter { ret += ""; int layerCount = getLayerCount(tags); Stack parentLayers = new Stack(); - //Set maskLayers=new HashSet(); int index = 0; for (int d = layerCount; d >= 1; d--, index++) { for (Tag t : tags) { - if (t instanceof PlaceObjectTypeTag) { PlaceObjectTypeTag po = (PlaceObjectTypeTag) t; if (po.getClipDepth() == d) {