diff --git a/pom.xml b/pom.xml
index b5de35148..b9398e056 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
me.coley
recaf
https://github.com/Col-E/Recaf/
- 2.16.7
+ 2.16.8
Recaf
A modern java bytecode editor
diff --git a/src/main/java/me/coley/recaf/Recaf.java b/src/main/java/me/coley/recaf/Recaf.java
index 560d495ef..9bf38a336 100644
--- a/src/main/java/me/coley/recaf/Recaf.java
+++ b/src/main/java/me/coley/recaf/Recaf.java
@@ -30,7 +30,7 @@
* @author Matt
*/
public class Recaf {
- public static final String VERSION = "2.16.7";
+ public static final String VERSION = "2.16.8";
public static final String DOC_URL = "https://col-e.github.io/Recaf-documentation/";
public static final int ASM_VERSION = Opcodes.ASM9;
private static Controller currentController;
diff --git a/src/main/java/me/coley/recaf/ui/controls/tree/DirectoryItem.java b/src/main/java/me/coley/recaf/ui/controls/tree/DirectoryItem.java
index 1c79870f4..879cf462e 100644
--- a/src/main/java/me/coley/recaf/ui/controls/tree/DirectoryItem.java
+++ b/src/main/java/me/coley/recaf/ui/controls/tree/DirectoryItem.java
@@ -28,6 +28,21 @@ public DirectoryItem(JavaResource resource, String local) {
this.local = local;
}
+ @Override
+ public void removeSourceChild(TreeItem child) {
+ boolean isClass = child instanceof ClassItem;
+ boolean isDir = child instanceof PackageItem;
+ if (isClass || isDir) {
+ String childLocal = ((DirectoryItem) child).local;
+ if (isClass)
+ localToLeaf.remove(childLocal);
+ else
+ localToDir.remove(childLocal);
+ }
+ super.removeSourceChild(child);
+ }
+
+
/**
* Used for display.
*