From 6941c63bda477183df09a54326ecf19a7de78fb3 Mon Sep 17 00:00:00 2001 From: Sam Davis Date: Fri, 24 Mar 2017 10:17:47 -0700 Subject: 513930: ConcurrentModificationException in SynchronizeRelevantTasksJob Change-Id: Ib77827f45549c64a0179165a568b7453a63d24d2 Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=513930 --- .../internal/tasks/ui/SynchronizeRelevantTasksJob.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/SynchronizeRelevantTasksJob.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/SynchronizeRelevantTasksJob.java index bbb3c07d4..77865730a 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/SynchronizeRelevantTasksJob.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/SynchronizeRelevantTasksJob.java @@ -13,6 +13,7 @@ package org.eclipse.mylyn.internal.tasks.ui; import java.util.ArrayList; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Set; @@ -127,14 +128,15 @@ public class SynchronizeRelevantTasksJob extends Job { } private void addTodaysTasks(HashSet relevantTasks) { - Set dueTasks = taskActivityManager.getScheduledTasks(TaskActivityUtil.getCurrentWeek().getToday()); - for (ITask dueTask : dueTasks) { - if (dueTask.isCompleted()) { - dueTasks.remove(dueTask); + Set scheduledTasks = taskActivityManager.getScheduledTasks(TaskActivityUtil.getCurrentWeek().getToday()); + for (Iterator iterator = scheduledTasks.iterator(); iterator.hasNext();) { + ITask scheduledTask = iterator.next(); + if (scheduledTask.isCompleted()) { + iterator.remove(); } } - if (dueTasks.size() < MAX_NUM_TASKS) { - relevantTasks.addAll(dueTasks); + if (scheduledTasks.size() < MAX_NUM_TASKS) { + relevantTasks.addAll(scheduledTasks); } } -- cgit v1.2.1