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 57f8f60cb983..8870c6613840 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 @@ -241,6 +241,11 @@ public class ApplicationImpl extends PlatformComponentManagerImpl implements App @Override public void run() { + if (isDisposedOrDisposeInProgress()) { + LOG.debug("Task to execute on pooled thread is skipped because app is being disposed: " + this.getClass().getName()); + return; + } + // see the comment in "executeOnPooledThread(Callable)" try (AccessToken ignored = myLock.applyReadPrivilege(suspensionId)) { action.run();