mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
show run menu: make cache null friendly (IDEA-149102)
This commit is contained in:
@@ -58,6 +58,7 @@ public class ConfigurationContext {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.execution.actions.ConfigurationContext");
|
||||
private final Location<PsiElement> myLocation;
|
||||
private RunnerAndConfigurationSettings myConfiguration;
|
||||
private boolean myInitialized = false;
|
||||
private Ref<RunnerAndConfigurationSettings> myExistingConfiguration;
|
||||
private final Module myModule;
|
||||
private final RunConfiguration myRuntimeConfiguration;
|
||||
@@ -118,8 +119,10 @@ public class ConfigurationContext {
|
||||
* @return the configuration, or null if none of the producers were able to create a configuration from this context.
|
||||
*/
|
||||
@Nullable
|
||||
public RunnerAndConfigurationSettings getConfiguration() {
|
||||
if (myConfiguration == null) createConfiguration();
|
||||
public synchronized RunnerAndConfigurationSettings getConfiguration() {
|
||||
if (myConfiguration == null && !myInitialized) {
|
||||
createConfiguration();
|
||||
}
|
||||
return myConfiguration;
|
||||
}
|
||||
|
||||
@@ -129,10 +132,12 @@ public class ConfigurationContext {
|
||||
myConfiguration = location != null && !DumbService.isDumb(location.getProject()) ?
|
||||
PreferredProducerFind.createConfiguration(location, this) :
|
||||
null;
|
||||
myInitialized = true;
|
||||
}
|
||||
|
||||
public void setConfiguration(RunnerAndConfigurationSettings configuration) {
|
||||
public synchronized void setConfiguration(@NotNull RunnerAndConfigurationSettings configuration) {
|
||||
myConfiguration = configuration;
|
||||
myInitialized = true;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
|
||||
Reference in New Issue
Block a user