diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/FocusManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/FocusManagerImpl.java index 9e1aad6d72e2..dd64bd86b6d1 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/FocusManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/FocusManagerImpl.java @@ -468,13 +468,14 @@ public class FocusManagerImpl extends IdeFocusManager implements Disposable { @Override public void doWhenFocusSettlesDown(@NotNull final Runnable runnable) { + boolean invokedOnEdt = ApplicationManager.getApplication().isDispatchThread(); UIUtil.invokeLaterIfNeeded(() -> { if (isFlushingIdleRequests()) { myIdleRequests.add(runnable); return; } - if (myRunContext != null) { + if (myRunContext != null || invokedOnEdt && canFlushIdleRequests()) { flushRequest(runnable); return; }