mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-58378: more checks
This commit is contained in:
@@ -37,7 +37,9 @@ public class RunContextAction extends BaseRunConfigurationAction {
|
||||
final RunManagerEx runManager = (RunManagerEx)context.getRunManager();
|
||||
if (configuration == null) {
|
||||
configuration = context.getConfiguration();
|
||||
if (configuration == null) return;
|
||||
if (configuration == null) {
|
||||
return;
|
||||
}
|
||||
runManager.setTemporaryConfiguration(configuration);
|
||||
}
|
||||
runManager.setActiveConfiguration(configuration);
|
||||
@@ -63,7 +65,22 @@ public class RunContextAction extends BaseRunConfigurationAction {
|
||||
configuration = context.getConfiguration();
|
||||
}
|
||||
|
||||
final boolean b = configuration != null && getRunner(configuration.getConfiguration()) != null;
|
||||
boolean b = true;
|
||||
if (configuration == null) {
|
||||
b = false;
|
||||
}
|
||||
else {
|
||||
final ProgramRunner runner = getRunner(configuration.getConfiguration());
|
||||
if (runner == null) {
|
||||
b = false;
|
||||
}
|
||||
else {
|
||||
if (ExecutorRegistry.getInstance().isStarting(context.getProject(), myExecutor.getId(), runner.getRunnerId())) {
|
||||
b = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
presentation.setEnabled(b);
|
||||
presentation.setVisible(b);
|
||||
}
|
||||
|
||||
@@ -15,10 +15,7 @@
|
||||
*/
|
||||
package com.intellij.execution.runners;
|
||||
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.RunCanceledByUserException;
|
||||
import com.intellij.execution.*;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.execution.ui.RunContentDescriptor;
|
||||
import com.intellij.ide.DataManager;
|
||||
@@ -67,6 +64,9 @@ public class RestartAction extends AnAction implements DumbAware {
|
||||
|
||||
private void doRestart(final DataContext dataContext) {
|
||||
final Project project = PlatformDataKeys.PROJECT.getData(dataContext);
|
||||
if (ExecutorRegistry.getInstance().isStarting(project, myExecutor.getId(), myRunner.getRunnerId())) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
final ExecutionEnvironment old = myEnvironment;
|
||||
myRunner.execute(myExecutor, new ExecutionEnvironment(old.getRunProfile(), project, old.getRunnerSettings(),
|
||||
@@ -87,7 +87,7 @@ public class RestartAction extends AnAction implements DumbAware {
|
||||
myProcessHandler = null; // already terminated
|
||||
}
|
||||
|
||||
presentation.setEnabled(!isRunning /*&& myRunner.canRun(, myProfile)*/);
|
||||
presentation.setEnabled(!isRunning /*&& myRunner.canRun(, myProfile)*/ && !ExecutorRegistry.getInstance().isStarting(myEnvironment.getProject(), myExecutor.getId(), myRunner.getRunnerId()));
|
||||
}
|
||||
|
||||
public void registerShortcut(final JComponent component) {
|
||||
|
||||
Reference in New Issue
Block a user