diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/console/BuildAndRestartConsoleAction.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/console/BuildAndRestartConsoleAction.java index c59123daa286..c772033362af 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/console/BuildAndRestartConsoleAction.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/console/BuildAndRestartConsoleAction.java @@ -20,7 +20,6 @@ import com.intellij.execution.Executor; import com.intellij.execution.process.ProcessHandler; import com.intellij.execution.ui.RunContentDescriptor; import com.intellij.icons.AllIcons; -import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.compiler.CompileContext; @@ -34,7 +33,7 @@ import org.jetbrains.annotations.NotNull; /** * Created by Max Medvedev on 21/03/14 */ -public class BuildAndRestartConsoleAction extends AnAction implements Disposable { +public class BuildAndRestartConsoleAction extends AnAction { private Module myModule; private Project myProject; @@ -82,14 +81,4 @@ public class BuildAndRestartConsoleAction extends AnAction implements Disposable }); } } - - - @Override - public void dispose() { - myModule = null; - myRestarter = null; - myProject = null; - myExecutor = null; - myContentDescriptor = null; - } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyConsole.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyConsole.java index d6af9efd6ead..5e80030caa93 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyConsole.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyConsole.java @@ -131,14 +131,14 @@ public class GroovyConsole { }; final Module module = GroovyConsoleStateService.getInstance(project).getSelectedModule(contentFile); - if (module != null) { - // if module for console is already selected, then use it for creation - initializer.consume(module); - } - else { + if (module == null || module.isDisposed()) { // if not, then select module, then run initializer GroovyConsoleUtil.selectModuleAndRun(project, initializer); } + else { + // if module for console is already selected, then use it for creation + initializer.consume(module); + } } @Nullable diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyConsoleResolveScopeProvider.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyConsoleResolveScopeProvider.java index 693d4433fecd..7d2003db4500 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyConsoleResolveScopeProvider.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/console/GroovyConsoleResolveScopeProvider.java @@ -30,6 +30,6 @@ public class GroovyConsoleResolveScopeProvider extends ResolveScopeProvider { public GlobalSearchScope getResolveScope(@NotNull VirtualFile file, Project project) { final GroovyConsoleStateService projectConsole = GroovyConsoleStateService.getInstance(project); final Module module = projectConsole.getSelectedModule(file); - return module == null ? null : module.getModuleWithDependenciesAndLibrariesScope(false); + return module == null || module.isDisposed() ? null : module.getModuleWithDependenciesAndLibrariesScope(false); } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/console/actions/GrSelectModuleAction.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/console/actions/GrSelectModuleAction.java index 883af820e0a2..ef42d563b50c 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/console/actions/GrSelectModuleAction.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/console/actions/GrSelectModuleAction.java @@ -26,8 +26,8 @@ import com.intellij.util.Consumer; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.console.GroovyConsole; -import org.jetbrains.plugins.groovy.console.GroovyConsoleUtil; import org.jetbrains.plugins.groovy.console.GroovyConsoleStateService; +import org.jetbrains.plugins.groovy.console.GroovyConsoleUtil; public class GrSelectModuleAction extends AnAction { @@ -58,7 +58,7 @@ public class GrSelectModuleAction extends AnAction { @NotNull public static String getText(@Nullable Module module) { - return module == null ? "