From 74f9eca710681d2cc03b3f85a2481bca6c5b5e0d Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Tue, 9 May 2017 15:06:40 +0300 Subject: [PATCH] "read action required" exception fixed --- .../com/intellij/execution/ExecutionTargetManagerImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/execution/ExecutionTargetManagerImpl.java b/platform/lang-impl/src/com/intellij/execution/ExecutionTargetManagerImpl.java index 22f14df52b61..d2eb3f1467c9 100644 --- a/platform/lang-impl/src/com/intellij/execution/ExecutionTargetManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/ExecutionTargetManagerImpl.java @@ -16,6 +16,7 @@ package com.intellij.execution; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.ReadAction; import com.intellij.openapi.components.PersistentStateComponent; import com.intellij.openapi.components.State; import com.intellij.openapi.components.Storage; @@ -31,7 +32,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -@State(name = "ExecutionTargetManager", storages = {@Storage(StoragePathMacros.WORKSPACE_FILE)}) +@State(name = "ExecutionTargetManager", storages = @Storage(StoragePathMacros.WORKSPACE_FILE)) public class ExecutionTargetManagerImpl extends ExecutionTargetManager implements PersistentStateComponent { @NotNull private final Project myProject; @NotNull private final Object myActiveTargetLock = new Object(); @@ -107,7 +108,7 @@ public class ExecutionTargetManagerImpl extends ExecutionTargetManager implement private void updateActiveTarget(@Nullable RunnerAndConfigurationSettings settings, @Nullable ExecutionTarget toSelect) { List suitable = settings == null ? Collections.singletonList(DefaultExecutionTarget.INSTANCE) - : getTargetsFor(settings); + : ReadAction.compute(()->getTargetsFor(settings)); ExecutionTarget toNotify; synchronized (myActiveTargetLock) { if (toSelect == null) toSelect = myActiveTarget;