Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2003-07-11 16:18:24 +0000
committerMichael Valenta2003-07-11 16:18:24 +0000
commit67361b6a5abddedbf96276af1a50a75ef637b60e (patch)
tree2ba557260a04b45c557496d77330fad861e17831
parent3af1ea137f80b7cf2dbcc7087ac9a7bc6c13fd5a (diff)
downloadeclipse.platform.team-67361b6a5abddedbf96276af1a50a75ef637b60e.tar.gz
eclipse.platform.team-67361b6a5abddedbf96276af1a50a75ef637b60e.tar.xz
eclipse.platform.team-67361b6a5abddedbf96276af1a50a75ef637b60e.zip
39940: Team plugins fail to load after restart
-rw-r--r--bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/TeamProvider.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/TeamProvider.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/TeamProvider.java
index 64b05305c..50be8bbb2 100644
--- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/TeamProvider.java
+++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/TeamProvider.java
@@ -79,14 +79,18 @@ public class TeamProvider implements ISaveParticipant {
* Method declared on IBaseLabelProvider.
*/
static public void addListener(ITeamResourceChangeListener listener) {
- listeners.add(listener);
+ synchronized(listener) {
+ listeners.add(listener);
+ }
}
/* (non-Javadoc)
* Method declared on IBaseLabelProvider.
*/
static public void removeListener(ITeamResourceChangeListener listener) {
- listeners.remove(listener);
+ synchronized(listener) {
+ listeners.remove(listener);
+ }
}
public void doneSaving(ISaveContext context) {
@@ -117,9 +121,11 @@ public class TeamProvider implements ISaveParticipant {
* Only listeners registered at the time this method is called are notified.
*/
static protected void fireTeamResourceChange(final TeamDelta[] deltas) {
- for (Iterator it = listeners.iterator(); it.hasNext();) {
- final ITeamResourceChangeListener l = (ITeamResourceChangeListener) it.next();
- l.teamResourceChanged(deltas);
+ synchronized(listeners) {
+ for (Iterator it = listeners.iterator(); it.hasNext();) {
+ final ITeamResourceChangeListener l = (ITeamResourceChangeListener) it.next();
+ l.teamResourceChanged(deltas);
+ }
}
}

Back to the top