diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/NotificationManager.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/NotificationManager.java index 963033827f9..ac0bb65b86c 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/NotificationManager.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/NotificationManager.java @@ -10,8 +10,8 @@ *******************************************************************************/ package org.eclipse.cdt.managedbuilder.internal.core; -import java.util.ArrayList; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import org.eclipse.cdt.managedbuilder.core.IHoldsOptions; import org.eclipse.cdt.managedbuilder.core.IOption; @@ -19,10 +19,10 @@ import org.eclipse.cdt.managedbuilder.core.IResourceInfo; public class NotificationManager /*implements ISettingsChangeListener */{ private static NotificationManager fInstance; - private List fListeners; + private List fListeners; private NotificationManager(){ - fListeners = new ArrayList(); + fListeners = new CopyOnWriteArrayList(); } public static NotificationManager getInstance(){ @@ -42,7 +42,7 @@ public class NotificationManager /*implements ISettingsChangeListener */{ } private void notifyListeners(SettingsChangeEvent event){ - ISettingsChangeListener listeners[] = (ISettingsChangeListener[])fListeners.toArray(new ISettingsChangeListener[fListeners.size()]); + ISettingsChangeListener listeners[] = fListeners.toArray(new ISettingsChangeListener[fListeners.size()]); for(int i = 0; i < listeners.length; i++){ listeners[i].settingsChanged(event); } @@ -57,18 +57,11 @@ public class NotificationManager /*implements ISettingsChangeListener */{ } public void subscribe(ISettingsChangeListener listener){ -// synchronized (this) { - fListeners.add(listener); -// } + fListeners.add(listener); } public void unsubscribe(ISettingsChangeListener listener){ -// synchronized (this) { - fListeners.remove(listener); -// } + fListeners.remove(listener); } - - - }