From b8a32fae095f7cb3527f528214d18838cff98897 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Tue, 9 Feb 2010 11:42:40 +0300 Subject: [PATCH] locator for IdeFocusManager fixed, for semi-initialized application (idea server dialog showing) --- .../src/com/intellij/openapi/wm/IdeFocusManager.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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 43cbcc4bd0..dca4d8fafe 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; } } -- 2.11.4.GIT