diff options
author | Michael Valenta | 2003-07-11 16:18:24 +0000 |
---|---|---|
committer | Michael Valenta | 2003-07-11 16:18:24 +0000 |
commit | 67361b6a5abddedbf96276af1a50a75ef637b60e (patch) | |
tree | 2ba557260a04b45c557496d77330fad861e17831 | |
parent | 3af1ea137f80b7cf2dbcc7087ac9a7bc6c13fd5a (diff) | |
download | eclipse.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.java | 16 |
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); + } } } |