|
From: <caw...@us...> - 2007-07-17 21:14:48
|
Revision: 2774
http://svn.sourceforge.net/rubyeclipse/?rev=2774&view=rev
Author: cawilliams
Date: 2007-07-17 14:14:46 -0700 (Tue, 17 Jul 2007)
Log Message:
-----------
when loading local gems and notifying listeners, iterate over a copy of the listeners to avoid concurrent modification exceptions (if listeners as a result of the notification the remove themselves)
Modified Paths:
--------------
trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java
Modified: trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java
===================================================================
--- trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java 2007-07-17 18:55:52 UTC (rev 2773)
+++ trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java 2007-07-17 21:14:46 UTC (rev 2774)
@@ -671,12 +671,12 @@
}
isInitialized = true;
synchronized (listeners) {
- for (GemListener listener : listeners) {
+ for (GemListener listener : new ArrayList<GemListener>(listeners)) {
listener.managerInitialized();
}
}
synchronized (listeners) {
- for (GemListener listener : listeners) {
+ for (GemListener listener : new ArrayList<GemListener>(listeners)) {
listener.gemsRefreshed();
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|