diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/AbstractProjectViewPane.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/AbstractProjectViewPane.java index f175133d3566..7eddd57f0f2c 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/AbstractProjectViewPane.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/AbstractProjectViewPane.java @@ -297,6 +297,12 @@ public abstract class AbstractProjectViewPane implements DataProvider, Disposabl @Override public Object getData(String dataId) { + Object data = + myTreeStructure instanceof AbstractTreeStructureBase ? + ((AbstractTreeStructureBase)myTreeStructure).getDataFromProviders(getSelectedNodes(AbstractTreeNode.class), dataId) : null; + if (data != null) { + return data; + } if (CommonDataKeys.NAVIGATABLE_ARRAY.is(dataId)) { TreePath[] paths = getSelectionPaths(); if (paths == null) return null; @@ -318,9 +324,6 @@ public abstract class AbstractProjectViewPane implements DataProvider, Disposabl return navigatables.toArray(new Navigatable[0]); } } - if (myTreeStructure instanceof AbstractTreeStructureBase) { - return ((AbstractTreeStructureBase) myTreeStructure).getDataFromProviders(getSelectedNodes(AbstractTreeNode.class), dataId); - } return null; }