Skip to content
Snippets Groups Projects
Commit 51bad1cd authored by Simon Barner's avatar Simon Barner
Browse files

Avoid ConcurrentModificationException in MarkerService::UIJob

Issue-Ref: 4339
Issue-Url: af3#4339



Signed-off-by: default avatarSimon Barner <barner@fortiss.org>
parent 4ef727a3
No related branches found
No related tags found
1 merge request!2164339: Avoid ConcurrentModificationException in MarkerService::UIJob
Pipeline #39413 passed
Pipeline: maven-releng

#39414

    ActionService.java e29126b5947c9fd2f1d82bb87001b9d0ead50c3b GREEN ActionService.java e29126b5947c9fd2f1d82bb87001b9d0ead50c3b GREEN
    ContextMenuService.java 752ecb95721c4ff31583095bdb06b71ef28c4dcf GREEN ContextMenuService.java 752ecb95721c4ff31583095bdb06b71ef28c4dcf GREEN
    MarkerService.java 5cc84f9c1e9811100fad92c0abfa934613173c06 GREEN MarkerService.java 9715b5ef55ba8c81759dbb914d99a018fcdd2429 GREEN
    ModelEditorBindingService.java f304addb514cd2de443997e0b52cef7a3a9897bf GREEN ModelEditorBindingService.java f304addb514cd2de443997e0b52cef7a3a9897bf GREEN
    ModelElementHandlerService.java 34adeef844bf98c69f1b9a7252f34d0a2b741b54 GREEN ModelElementHandlerService.java 34adeef844bf98c69f1b9a7252f34d0a2b741b54 GREEN
    NavigatorService.java 1d773dde3791ddf7051616fe249558e7e307757d GREEN NavigatorService.java 1d773dde3791ddf7051616fe249558e7e307757d GREEN
    ......
    ...@@ -265,7 +265,9 @@ public class MarkerService implements IMarkerService, IPersistencyServiceListene ...@@ -265,7 +265,9 @@ public class MarkerService implements IMarkerService, IPersistencyServiceListene
    public IStatus runInUIThread(IProgressMonitor monitor) { public IStatus runInUIThread(IProgressMonitor monitor) {
    for(EObject eo : violationsMap.keySet()) { for(EObject eo : violationsMap.keySet()) {
    postRefreshNotification(eo); postRefreshNotification(eo);
    for(IConstraintViolation<? extends EObject> viol : violationsMap.get(eo)) { // Create copy of list since it might be updated in parallel to the UI update.
    for(IConstraintViolation<? extends EObject> viol : new ArrayList<>(
    getCachedList(eo))) {
    postRefreshNotification(viol.getSource()); postRefreshNotification(viol.getSource());
    } }
    } }
    ......
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment