From 7088a9426d2d783aa3eeae6c96afdadd4ff69e1d Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 12 Jul 2017 11:07:03 +0300 Subject: [PATCH] project wizard: start loading templates list only when dialog is shown Otherwise the task is called with non-modal modality state and its 'onFinished' method is called only after closing the dialog (IDEA-175643). --- .../src/com/intellij/ide/projectWizard/ProjectTypeStep.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java b/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java index 056bc769b64b..abf5853002f4 100644 --- a/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java +++ b/java/idea-ui/src/com/intellij/ide/projectWizard/ProjectTypeStep.java @@ -57,6 +57,7 @@ import com.intellij.util.Function; import com.intellij.util.PlatformUtils; import com.intellij.util.containers.*; import com.intellij.util.ui.UIUtil; +import com.intellij.util.ui.update.UiNotifyConnector; import gnu.trove.THashMap; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -595,6 +596,10 @@ public class ProjectTypeStep extends ModuleWizardStep implements SettingsStep, D } void loadRemoteTemplates(final ChooseTemplateStep chooseTemplateStep) { + UiNotifyConnector.doWhenFirstShown(myPanel, () -> startLoadingRemoteTemplates(chooseTemplateStep)); + } + + private void startLoadingRemoteTemplates(ChooseTemplateStep chooseTemplateStep) { myTemplatesList.setPaintBusy(true); chooseTemplateStep.getTemplateList().setPaintBusy(true); ProgressManager.getInstance().run(new Task.Backgroundable(myContext.getProject(), "Loading Templates") {