mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-CR-20496 RunConfigurationBeforeRunProvider now is called for temp RC, so, we must avoid init call
This commit is contained in:
+5
@@ -319,6 +319,11 @@ extends BeforeRunTaskProvider<RunConfigurationBeforeRunProvider.RunConfigurableB
|
||||
myConfigurationType = configurationTypeAttr != null ? configurationTypeAttr.getValue() : null;
|
||||
}
|
||||
|
||||
// avoid RunManagerImpl.getInstanceImpl and findConfigurationByTypeAndName calls (can be called during RunManagerImpl initialization)
|
||||
boolean isMySettings(@NotNull RunnerAndConfigurationSettings settings) {
|
||||
return settings.getType().getId().equals(myConfigurationType) && settings.getName().equals(myConfigurationName);
|
||||
}
|
||||
|
||||
void init() {
|
||||
if (myInitialized) {
|
||||
return;
|
||||
|
||||
@@ -1118,7 +1118,7 @@ open class RunManagerImpl(internal val project: Project) : RunManagerEx(), Persi
|
||||
val newList = otherConfiguration.beforeRunTasks.nullize()?.toMutableSmartList() ?: continue
|
||||
val beforeRunTaskIterator = newList.iterator()
|
||||
for (task in beforeRunTaskIterator) {
|
||||
if (task is RunConfigurationBeforeRunProvider.RunConfigurableBeforeRunTask && toRemove.contains(task.settings)) {
|
||||
if (task is RunConfigurationBeforeRunProvider.RunConfigurableBeforeRunTask && toRemove.firstOrNull { task.isMySettings(it) } != null) {
|
||||
beforeRunTaskIterator.remove()
|
||||
isChanged = true
|
||||
changedSettings.add(settings)
|
||||
|
||||
Reference in New Issue
Block a user