Lines 257-263
Link Here
|
257 |
|
257 |
|
258 |
/** Fire TaskListener.structureChanged */ |
258 |
/** Fire TaskListener.structureChanged */ |
259 |
protected void fireStructureChanged(Task task) { |
259 |
protected void fireStructureChanged(Task task) { |
260 |
TaskListener[] taskListeners; |
260 |
TaskListener[] taskListeners; // some listeners are self deregistering on this event causing index exception |
261 |
synchronized (listeners) { |
261 |
synchronized (listeners) { |
262 |
taskListeners = new TaskListener[listeners.size()]; |
262 |
taskListeners = new TaskListener[listeners.size()]; |
263 |
taskListeners = (TaskListener[]) listeners.toArray(taskListeners); |
263 |
taskListeners = (TaskListener[]) listeners.toArray(taskListeners); |
Lines 269-281
Link Here
|
269 |
|
269 |
|
270 |
/** Fire TaskListener.removedTask */ |
270 |
/** Fire TaskListener.removedTask */ |
271 |
protected void fireRemoved(Task pt, Task task) { |
271 |
protected void fireRemoved(Task pt, Task task) { |
|
|
272 |
TaskListener[] taskListeners; // some listeners are self deregistering on this event causing index exception |
272 |
synchronized (listeners) { |
273 |
synchronized (listeners) { |
273 |
int n = listeners.size(); |
274 |
taskListeners = new TaskListener[listeners.size()]; |
274 |
for (int i = 0; i < n; i++) { |
275 |
taskListeners = (TaskListener[]) listeners.toArray(taskListeners); |
275 |
TaskListener tl = (TaskListener) listeners.get(i); |
|
|
276 |
tl.removedTask(pt, task); |
277 |
} |
278 |
} |
276 |
} |
|
|
277 |
for (int i = 0; i < taskListeners.length; i++) { |
278 |
taskListeners[i].removedTask(pt, task); |
279 |
} |
280 |
|
279 |
} |
281 |
} |
280 |
|
282 |
|
281 |
/** |
283 |
/** |