summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/idea/IdeaApplication.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/idea/IdeaApplication.java')
-rw-r--r--platform/platform-impl/src/com/intellij/idea/IdeaApplication.java18
1 files changed, 13 insertions, 5 deletions
diff --git a/platform/platform-impl/src/com/intellij/idea/IdeaApplication.java b/platform/platform-impl/src/com/intellij/idea/IdeaApplication.java
index 94b25a1b3c94..b32729dd7328 100644
--- a/platform/platform-impl/src/com/intellij/idea/IdeaApplication.java
+++ b/platform/platform-impl/src/com/intellij/idea/IdeaApplication.java
@@ -24,10 +24,7 @@ import com.intellij.ide.IdeRepaintManager;
import com.intellij.ide.plugins.PluginManager;
import com.intellij.ide.plugins.PluginManagerCore;
import com.intellij.internal.statistic.UsageTrigger;
-import com.intellij.openapi.application.ApplicationManager;
-import com.intellij.openapi.application.ApplicationStarter;
-import com.intellij.openapi.application.ModalityState;
-import com.intellij.openapi.application.PathManager;
+import com.intellij.openapi.application.*;
import com.intellij.openapi.application.ex.ApplicationEx;
import com.intellij.openapi.application.ex.ApplicationInfoEx;
import com.intellij.openapi.application.ex.ApplicationManagerEx;
@@ -107,6 +104,12 @@ public class IdeaApplication {
if (myStarter == null) {
myStarter = getStarter();
}
+
+ if (headless && myStarter instanceof ApplicationStarterEx && !((ApplicationStarterEx)myStarter).isHeadless()) {
+ Main.showMessage("Startup Error", "Application cannot start in headless mode", true);
+ System.exit(Main.STARTUP_IMPOSSIBLE);
+ }
+
myStarter.premain(args);
}
@@ -178,10 +181,15 @@ public class IdeaApplication {
catch (ClassNotFoundException ignored) { }
}
- protected class IdeStarter implements ApplicationStarter {
+ protected class IdeStarter extends ApplicationStarterEx {
private Splash mySplash;
@Override
+ public boolean isHeadless() {
+ return false;
+ }
+
+ @Override
public String getCommandName() {
return null;
}