From b1f48f1db1191d2da43ce3b8ec43d938ea83594c Mon Sep 17 00:00:00 2001 From: "Jan S." Date: Thu, 24 Jul 2025 19:37:47 +0200 Subject: [PATCH] fix(gui): fix NullPointerException in copyAllSearchResults (#2580) (PR #2581) --- .../java/jadx/gui/ui/dialog/CommonSearchDialog.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/jadx-gui/src/main/java/jadx/gui/ui/dialog/CommonSearchDialog.java b/jadx-gui/src/main/java/jadx/gui/ui/dialog/CommonSearchDialog.java index bb490813e..d308390c9 100644 --- a/jadx-gui/src/main/java/jadx/gui/ui/dialog/CommonSearchDialog.java +++ b/jadx-gui/src/main/java/jadx/gui/ui/dialog/CommonSearchDialog.java @@ -49,6 +49,7 @@ import org.slf4j.LoggerFactory; import ch.qos.logback.classic.Level; +import jadx.api.JavaNode; import jadx.gui.logs.LogOptions; import jadx.gui.treemodel.JNode; import jadx.gui.treemodel.JResSearchNode; @@ -185,9 +186,12 @@ public abstract class CommonSearchDialog extends JFrame { StringBuilder sb = new StringBuilder(); Set uniqueRefs = new HashSet<>(); for (JNode node : resultsModel.rows) { - String codeNodeRef = node.getJavaNode().getCodeNodeRef().toString(); - if (uniqueRefs.add(codeNodeRef)) { - sb.append(codeNodeRef).append("\n"); + JavaNode javaNode = node.getJavaNode(); + if (javaNode != null) { + String codeNodeRef = javaNode.getCodeNodeRef().toString(); + if (uniqueRefs.add(codeNodeRef)) { + sb.append(codeNodeRef).append("\n"); + } } } UiUtils.copyToClipboard(sb.toString());