Fixes some ConcurrentModificationException in CallManager.

cusax-fix
Sebastien Vincent 15 years ago
parent 22741e460f
commit 70bfb7989d

@ -160,9 +160,11 @@ public void callStateChanged(CallChangeEvent evt)
}
});
for(Map.Entry<Call, CallPanel> entry : activeCalls.entrySet())
List<CallPanel> calls = new ArrayList<CallPanel>(
activeCalls.values());
for(CallPanel cp : calls)
{
CallPanel cp = entry.getValue();
if(cp != null)
cp.incomingCallReceived(event);
}
@ -203,10 +205,11 @@ public void callEnded(CallEvent event)
activeCalls.remove(sourceCall);
callContainer.getCallWindow().closeWait(callContainer);
List<CallPanel> calls = new ArrayList<CallPanel>(
activeCalls.values());
for(Map.Entry<Call, CallPanel> entry : activeCalls.entrySet())
for(CallPanel cp : calls)
{
CallPanel cp = entry.getValue();
if(cp != null)
cp.incomingCallReceived(event);
}
@ -224,9 +227,11 @@ public void outgoingCallCreated(CallEvent event)
CallManager.openCallContainer(sourceCall);
for(Map.Entry<Call, CallPanel> entry : activeCalls.entrySet())
List<CallPanel> calls = new ArrayList<CallPanel>(
activeCalls.values());
for(CallPanel cp : calls)
{
CallPanel cp = entry.getValue();
if(cp != null)
cp.incomingCallReceived(event);
}

@ -1629,7 +1629,8 @@ public void callEnded(CallEvent event)
*/
public void updateMergeButtonState()
{
Collection<Call> calls = CallManager.getActiveCalls();
Collection<Call> calls = new ArrayList<Call>(
CallManager.getActiveCalls());
java.util.List<CallGroup> groups = new java.util.ArrayList<CallGroup>();
int cpt = 0;

Loading…
Cancel
Save