diff --git a/platform/platform-api/src/com/intellij/openapi/wm/IdeFocusManager.java b/platform/platform-api/src/com/intellij/openapi/wm/IdeFocusManager.java index 43cbcc4bd040..dca4d8fafe87 100644 --- a/platform/platform-api/src/com/intellij/openapi/wm/IdeFocusManager.java +++ b/platform/platform-api/src/com/intellij/openapi/wm/IdeFocusManager.java @@ -132,9 +132,17 @@ public abstract class IdeFocusManager { public abstract Expirable getTimestamp(boolean trackOnlyForcedCommands); + @NotNull public static IdeFocusManager getGlobalInstance() { Application app = ApplicationManager.getApplication(); - return app != null ? app.getComponent(IdeFocusManager.class) : PassThroughtIdeFocusManager.getInstance(); + IdeFocusManager fm = app != null ? app.getComponent(IdeFocusManager.class) : PassThroughtIdeFocusManager.getInstance(); + + // It happens when IDEA server dialog is shown, app != null but it's semi-initialized + if (fm == null) { + fm = PassThroughtIdeFocusManager.getInstance(); + } + + return fm; } }