Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian W. Damus2016-11-08 17:20:44 +0000
committerChristian W. Damus2016-11-08 21:01:48 +0000
commit567776b61bd3f399951d7ad182389e0ca9ecc487 (patch)
tree7bb9d1e4b2c5b9c9b33850bb0d15eb7c92522377 /plugins/infra/emf
parent10d32093aa693ec9e174c318bf86511db20947bf (diff)
downloadorg.eclipse.papyrus-567776b61bd3f399951d7ad182389e0ca9ecc487.tar.gz
org.eclipse.papyrus-567776b61bd3f399951d7ad182389e0ca9ecc487.tar.xz
org.eclipse.papyrus-567776b61bd3f399951d7ad182389e0ca9ecc487.zip
Bug 507241: DependentEMFLabelProvider does not support unsubscription during notification
Support addition/removal of listeners on the ForwardingEMFLabelProvider during iteration of its listeners (usually for notification broadcast). https://bugs.eclipse.org/bugs/show_bug.cgi?id=507241 Change-Id: I516e1e57ece304c81874f4fd80e7751eaa727743
Diffstat (limited to 'plugins/infra/emf')
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/providers/ForwardingEMFLabelProvider.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/providers/ForwardingEMFLabelProvider.java b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/providers/ForwardingEMFLabelProvider.java
index 900d5618ab0..815bfa7096f 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/providers/ForwardingEMFLabelProvider.java
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/providers/ForwardingEMFLabelProvider.java
@@ -48,6 +48,9 @@ public class ForwardingEMFLabelProvider extends StandardEMFLabelProvider {
public ForwardingEMFLabelProvider() {
super();
+ // I need to support re-entrant changes during notification
+ labelProviderListeners = new CopyOnWriteArrayList<>(labelProviderListeners);
+
// I am used in contexts where JFace label provider events are needed
setFireLabelUpdateNotifications(true);
}

Back to the top