Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraradermache2012-10-26 09:38:34 +0000
committeraradermache2012-10-26 09:38:34 +0000
commitd7fdde40d0137ed698d1a29b8c7f303353493ab7 (patch)
tree07caace1d8747440b8e9a507b907b431116bb20f /plugins/infra
parent2f39d483ba9849cbe5b622290df94a9af6361fd3 (diff)
downloadorg.eclipse.papyrus-d7fdde40d0137ed698d1a29b8c7f303353493ab7.tar.gz
org.eclipse.papyrus-d7fdde40d0137ed698d1a29b8c7f303353493ab7.tar.xz
org.eclipse.papyrus-d7fdde40d0137ed698d1a29b8c7f303353493ab7.zip
Fix for bug 392194
Diffstat (limited to 'plugins/infra')
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.markerlistener/src/org/eclipse/papyrus/infra/services/markerlistener/MarkersMonitorService.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.markerlistener/src/org/eclipse/papyrus/infra/services/markerlistener/MarkersMonitorService.java b/plugins/infra/services/org.eclipse.papyrus.infra.services.markerlistener/src/org/eclipse/papyrus/infra/services/markerlistener/MarkersMonitorService.java
index bb0aeb6e24e..6bc57e34839 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.markerlistener/src/org/eclipse/papyrus/infra/services/markerlistener/MarkersMonitorService.java
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.markerlistener/src/org/eclipse/papyrus/infra/services/markerlistener/MarkersMonitorService.java
@@ -20,6 +20,7 @@ import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
@@ -125,8 +126,10 @@ public class MarkersMonitorService implements IService {
try {
EList<Resource> resources = ServiceUtils.getInstance().getModelSet(servicesRegistry).getResources();
+ // create a copy of the list, see bug 392194 (avoid concurrent modification exceptions)
+ EList<Resource> resourcesCopy = new BasicEList<Resource>(resources);
// loop over all resources (e.g. error markers are on notation, breakpoints on UML model)
- for(Resource resource : resources) {
+ for(Resource resource : resourcesCopy) {
URI uri = resource.getURI();
String platformResourceString = uri.toPlatformString(true);
IFile file = (platformResourceString != null ? ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(platformResourceString)) : null);

Back to the top