From 7aabf4a69de44d56772dcc575c427a5d7bab0f76 Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Wed, 13 Apr 2016 17:45:02 +0300 Subject: [PATCH] IDEA-154443 Speed search is broken in Structure popup --- .../src/com/intellij/ide/util/treeView/NodeDescriptor.java | 5 ++++- .../src/com/intellij/ide/util/FileStructurePopup.java | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/platform/editor-ui-api/src/com/intellij/ide/util/treeView/NodeDescriptor.java b/platform/editor-ui-api/src/com/intellij/ide/util/treeView/NodeDescriptor.java index 3494752647ae..2f67972d00db 100644 --- a/platform/editor-ui-api/src/com/intellij/ide/util/treeView/NodeDescriptor.java +++ b/platform/editor-ui-api/src/com/intellij/ide/util/treeView/NodeDescriptor.java @@ -66,7 +66,10 @@ public abstract class NodeDescriptor { public abstract E getElement(); public String toString() { - return String.valueOf(myName); + // NB!: this method may return null if node is not valid + // it contradicts the specification, but the fix breaks existing behaviour + // see com.intellij.ide.util.FileStructurePopup#getSpeedSearchText + return myName; } /** diff --git a/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java b/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java index 417d3685244a..eb7e60f7deee 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java +++ b/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java @@ -996,7 +996,8 @@ public class FileStructurePopup implements Disposable, TreeActionsOwner { } return text; } - + // NB!: this point is achievable if the following method returns null + // see com.intellij.ide.util.treeView.NodeDescriptor.toString if (userObject instanceof StructureViewComponent.StructureViewTreeElementWrapper) { return ApplicationManager.getApplication().runReadAction(new Computable() { @Nullable