From 15af8074b45d942b4db2774f2eb98bf55fd7deb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Thu, 12 Oct 2023 20:44:59 +0200 Subject: [PATCH] Fixed Generic tag editor - Disallow add before/after or remove on parent field with indices --- CHANGELOG.md | 1 + .../decompiler/flash/gui/GenericTagTreePanel.java | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aa6e84ce6..653fb4209 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ All notable changes to this project will be documented in this file. - AS2 getters and setters decoding - [#116] §§push at the end of switch branches - Convolution matrix filter display and editing +- Generic tag editor - Disallow add before/after or remove on parent field with indices ## [19.0.0] - 2023-10-01 ### Added diff --git a/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java b/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java index 485b37f3a..252e4ce08 100644 --- a/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java +++ b/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java @@ -552,7 +552,9 @@ public class GenericTagTreePanel extends GenericTagPanel { JMenu mBegin = new JMenu(AppStrings.translate("generictag.array.insertbeginning").replace("%item%", itemStr)); p.add(mBegin); JMenu mBefore = new JMenu(AppStrings.translate("generictag.array.insertbefore").replace("%item%", itemStr)); - p.add(mBefore); + if (fnode.index > -1) { + p.add(mBefore); + } mi = new JMenuItem(AppStrings.translate("generictag.array.remove").replace("%item%", itemStr)); mi.addActionListener(new ActionListener() { @Override @@ -576,9 +578,15 @@ public class GenericTagTreePanel extends GenericTagPanel { } } }); - p.add(mi); + + if (fnode.index > -1) { + p.add(mi); + } JMenu mAfter = new JMenu(AppStrings.translate("generictag.array.insertafter").replace("%item%", itemStr)); - p.add(mAfter); + + if (fnode.index > -1) { + p.add(mAfter); + } JMenu mEnd = new JMenu(AppStrings.translate("generictag.array.insertend").replace("%item%", itemStr)); p.add(mEnd);