mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 19:02:13 +07:00
IDEA-143013 Compound RC: StackOverflowError on enabling Compound RC inside another Compound RC
This commit is contained in:
+1
-1
@@ -61,7 +61,7 @@ public class CompoundRunConfiguration extends RunConfigurationBase implements Wi
|
||||
RunManagerImpl manager = RunManagerImpl.getInstanceImpl(getProject());
|
||||
for (Pair<String, String> pair : myPairs) {
|
||||
RunnerAndConfigurationSettings settings = manager.findConfigurationByTypeAndName(pair.first, pair.second);
|
||||
if (settings != null) {
|
||||
if (settings != null && settings.getConfiguration() != this) {
|
||||
mySetToRun.add(settings.getConfiguration());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.intellij.execution.configurations.*;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.options.*;
|
||||
@@ -399,6 +400,12 @@ class RunConfigurable extends BaseConfigurable {
|
||||
myRightPanel.add(scrollPane, BorderLayout.CENTER);
|
||||
if (configurable instanceof SingleConfigurationConfigurable) {
|
||||
myRightPanel.add(((SingleConfigurationConfigurable)configurable).getValidationComponent(), BorderLayout.SOUTH);
|
||||
ApplicationManager.getApplication().invokeLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
((SingleConfigurationConfigurable)configurable).updateWarning();
|
||||
}
|
||||
});
|
||||
if (configurableComponent != null) {
|
||||
DataProvider dataProvider = DataManager.getDataProvider(configurableComponent);
|
||||
if (dataProvider != null) {
|
||||
|
||||
+7
@@ -125,6 +125,13 @@ public final class SingleConfigurationConfigurable<Config extends RunConfigurati
|
||||
myComponent.doReset(configuration);
|
||||
}
|
||||
|
||||
void updateWarning() {
|
||||
myValidationResultValid = false;
|
||||
if (myComponent != null) {
|
||||
myComponent.updateWarning();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final JComponent createComponent() {
|
||||
myComponent.myNameText.setEnabled(!myBrokenConfiguration);
|
||||
|
||||
Reference in New Issue
Block a user