From a1ff4d0fd3210f23f0733d4acf68822fb89f5cb3 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Tue, 31 Jan 2012 18:09:15 +0100 Subject: [PATCH] do not run automake in alarm's thread --- .../intellij/compiler/CompileServerManager.java | 17 +++++++++++------ .../intellij/compiler/impl/CompilerUtil.java | 3 ++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/CompileServerManager.java b/java/compiler/impl/src/com/intellij/compiler/CompileServerManager.java index 05aaeb88f46d..d2862e6289ea 100644 --- a/java/compiler/impl/src/com/intellij/compiler/CompileServerManager.java +++ b/java/compiler/impl/src/com/intellij/compiler/CompileServerManager.java @@ -128,12 +128,17 @@ public class CompileServerManager implements ApplicationComponent{ @Override public void run() { if (!myAutoMakeInProgress.getAndSet(true)) { - try { - runAutoMake(); - } - finally { - myAutoMakeInProgress.set(false); - } + ApplicationManager.getApplication().executeOnPooledThread(new Runnable() { + @Override + public void run() { + try { + runAutoMake(); + } + finally { + myAutoMakeInProgress.set(false); + } + } + }); } else { scheduleMake(this); diff --git a/java/compiler/impl/src/com/intellij/compiler/impl/CompilerUtil.java b/java/compiler/impl/src/com/intellij/compiler/impl/CompilerUtil.java index a7637185dc21..066baa7ea538 100644 --- a/java/compiler/impl/src/com/intellij/compiler/impl/CompilerUtil.java +++ b/java/compiler/impl/src/com/intellij/compiler/impl/CompilerUtil.java @@ -26,6 +26,7 @@ import com.intellij.openapi.compiler.CompilerBundle; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.projectRoots.Sdk; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.CharsetToolkit; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VfsUtil; @@ -155,7 +156,7 @@ public class CompilerUtil { public static void addSourceCommandLineSwitch(final Sdk jdk, LanguageLevel chunkLanguageLevel, @NonNls final List commandLine) { final String versionString = jdk.getVersionString(); - if (versionString == null || "".equals(versionString)) { + if (StringUtil.isEmpty(versionString)) { throw new IllegalArgumentException(CompilerBundle.message("javac.error.unknown.jdk.version", jdk.getName())); }