From 4ddca30168a42ac11ecf6976043135057c618c3f Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Mon, 25 Sep 2017 17:24:45 +0300 Subject: [PATCH] calculate a modality state for component on EDT --- .../intellij/openapi/application/impl/ApplicationImpl.java | 1 + .../com/intellij/openapi/fileChooser/tree/FileRefresher.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java index 0ba9d62212fd..6a496417dc4d 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java @@ -691,6 +691,7 @@ public class ApplicationImpl extends PlatformComponentManagerImpl implements App @Override @NotNull public ModalityState getModalityStateForComponent(@NotNull Component c) { + if (!isDispatchThread()) LOG.warn("please, use application dispatch thread to get a modality state"); Window window = UIUtil.getWindow(c); if (window == null) return getNoneModalityState(); //? return LaterInvocator.modalityStateForWindow(window); diff --git a/platform/platform-impl/src/com/intellij/openapi/fileChooser/tree/FileRefresher.java b/platform/platform-impl/src/com/intellij/openapi/fileChooser/tree/FileRefresher.java index fc58b8e828f8..f4d10a25a3bc 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileChooser/tree/FileRefresher.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileChooser/tree/FileRefresher.java @@ -23,13 +23,13 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileSystem; import com.intellij.openapi.vfs.newvfs.RefreshQueue; import com.intellij.openapi.vfs.newvfs.RefreshSession; +import com.intellij.util.concurrency.EdtExecutorService; import java.util.ArrayList; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Supplier; -import static com.intellij.util.concurrency.AppExecutorUtil.createBoundedScheduledExecutorService; import static java.util.concurrent.TimeUnit.SECONDS; /** @@ -39,7 +39,7 @@ import static java.util.concurrent.TimeUnit.SECONDS; */ public class FileRefresher implements Disposable { private static final Logger LOG = Logger.getInstance(FileRefresher.class); - private final ScheduledExecutorService executor = createBoundedScheduledExecutorService("FileRefresher", 1); + private final ScheduledExecutorService executor = EdtExecutorService.getScheduledExecutorInstance(); private final boolean recursive; private final long delay; private final Supplier supplier;