From f3e3a0d1ad4e532d6d4b67dc327d05c9694cc445 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Tue, 23 Jan 2018 13:30:02 +0100 Subject: [PATCH] tasks is immutable, must be not modified directly --- .../impl/BaseExecuteBeforeRunDialog.java | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/execution/impl/BaseExecuteBeforeRunDialog.java b/platform/lang-impl/src/com/intellij/execution/impl/BaseExecuteBeforeRunDialog.java index b317b5124b40..392a9c23cc9a 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/BaseExecuteBeforeRunDialog.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/BaseExecuteBeforeRunDialog.java @@ -1,18 +1,4 @@ -/* - * Copyright 2000-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.execution.impl; import com.intellij.execution.*; @@ -227,16 +213,19 @@ public abstract class BaseExecuteBeforeRunDialog extend if (provider == null) { return; } + T task = provider.createTask(config); update(task); task.setEnabled(true); if (enabled) { if (!tasks.contains(task)) { + tasks = new ArrayList<>(tasks); tasks.add(task); } } else { if (tasks.contains(task)) { + tasks = new ArrayList<>(tasks); tasks.remove(task); } }