diff --git a/platform/remote-servers/impl/src/com/intellij/remoteServer/impl/configuration/deployment/DeployToServerRunConfiguration.java b/platform/remote-servers/impl/src/com/intellij/remoteServer/impl/configuration/deployment/DeployToServerRunConfiguration.java index 997628eb48ea..6c133cc28eb1 100644 --- a/platform/remote-servers/impl/src/com/intellij/remoteServer/impl/configuration/deployment/DeployToServerRunConfiguration.java +++ b/platform/remote-servers/impl/src/com/intellij/remoteServer/impl/configuration/deployment/DeployToServerRunConfiguration.java @@ -22,6 +22,8 @@ import com.intellij.execution.configurations.RunConfigurationBase; import com.intellij.execution.configurations.RunProfileState; import com.intellij.execution.configurations.RuntimeConfigurationException; import com.intellij.execution.runners.ExecutionEnvironment; +import com.intellij.openapi.application.ReadAction; +import com.intellij.openapi.application.Result; import com.intellij.openapi.components.ComponentSerializationUtil; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.options.SettingsEditor; @@ -164,12 +166,16 @@ public class DeployToServerRunConfiguration type = findDeploymentSourceType(typeId); + final DeploymentSourceType type = findDeploymentSourceType(typeId); if (type != null) { - myDeploymentSource = type.load(deploymentTag, getProject()); + myDeploymentSource = new ReadAction() { + protected void run(final @NotNull Result result) { + result.setResult(type.load(deploymentTag, getProject())); + } + }.execute().getResultObject(); myDeploymentConfiguration = myDeploymentConfigurator.createDefaultConfiguration(myDeploymentSource); ComponentSerializationUtil.loadComponentState(myDeploymentConfiguration.getSerializer(), deploymentTag.getChild(SETTINGS_ELEMENT)); }