From 2ae28c7629efce323b00fe9aba61339d832f5cd4 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Wed, 15 Mar 2017 19:17:05 +0300 Subject: [PATCH] disable access to usage view tree outside EDT to fix IDEA-168857 Find usages preview throws exception: java.lang.Throwable --- .../usageView/src/com/intellij/usages/impl/UsageViewImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platform/usageView/src/com/intellij/usages/impl/UsageViewImpl.java b/platform/usageView/src/com/intellij/usages/impl/UsageViewImpl.java index 3182b17fc24a..b1f237ee9d83 100644 --- a/platform/usageView/src/com/intellij/usages/impl/UsageViewImpl.java +++ b/platform/usageView/src/com/intellij/usages/impl/UsageViewImpl.java @@ -1700,7 +1700,9 @@ public class UsageViewImpl implements UsageView { sink.put(PlatformDataKeys.COPY_PROVIDER, myCopyProvider); } else { - Node node = getSelectedNode(); + // can arrive here outside EDT from usage view preview. + // ignore all these fancy actions in this case. + Node node = ApplicationManager.getApplication().isDispatchThread() ? getSelectedNode() : null; if (node != null) { Object userObject = node.getUserObject(); if (userObject instanceof TypeSafeDataProvider) {