@ -199,9 +199,9 @@ else if (CallState.CALL_ENDED.equals(newValue))
@Override
public void callEndedInEventDispatchThread ( CallEvent ev )
{
Call sourceCall = ev . getSourceCall ( ) ;
Call Conference callConference = ev . getCallConference ( ) ;
closeCallContainerIfNotNecessary ( sour ceC all) ;
closeCallContainerIfNotNecessary ( callConference ) ;
/ *
* Notify the existing CallPanels about the CallEvent ( in case
@ -1050,31 +1050,19 @@ public static void transferCall(CallPeer peer, String target)
* longer necessary ( i . e . is not used by other < tt > Call < / tt > s participating
* in the same telephony conference as the specified < tt > Call < / tt > . )
*
* @param call the < tt > Call < / tt > which is to have its associated
* < tt > CallPanel < / tt > , if any , closed
* @param call Conference The < tt > CallConference < / tt > which is to have its
* associated < tt > CallPanel < / tt > , if any , closed
* { @link CallContainer # closeWait ( CallPanel ) } or < tt > false < / tt > to use
* { @link CallContainer # close ( CallPanel ) }
* /
private static void closeCallContainerIfNotNecessary ( final Call call )
private static void closeCallContainerIfNotNecessary (
final CallConference callConference )
{
if ( ! SwingUtilities . isEventDispatchThread ( ) )
{
SwingUtilities . invokeLater (
new Runnable ( )
{
public void run ( )
{
closeCallContainerIfNotNecessary ( call ) ;
}
} ) ;
return ;
}
CallPanel callPanel = callPanels . get ( call . getConference ( ) ) ;
CallPanel callPanel = callPanels . get ( callConference ) ;
if ( callPanel ! = null )
closeCallContainerIfNotNecessary (
call , callPanel . isCloseWaitAfterHangup ( ) ) ;
callConference , callPanel . isCloseWaitAfterHangup ( ) ) ;
}
/ * *
@ -1082,14 +1070,14 @@ public void run()
* longer necessary ( i . e . is not used by other < tt > Call < / tt > s participating
* in the same telephony conference as the specified < tt > Call < / tt > . )
*
* @param call the < tt > Call < / tt > which is to have its associated
* < tt > CallPanel < / tt > , if any , closed
* @param call Conference The < tt > CallConference < / tt > which is to have its
* associated < tt > CallPanel < / tt > , if any , closed
* @param wait < tt > true < / tt > to use
* { @link CallContainer # closeWait ( CallPanel ) } or < tt > false < / tt > to use
* { @link CallContainer # close ( CallPanel ) }
* /
private static void closeCallContainerIfNotNecessary (
final Call call ,
final Call Conference call Conference ,
final boolean wait )
{
if ( ! SwingUtilities . isEventDispatchThread ( ) )
@ -1099,7 +1087,9 @@ private static void closeCallContainerIfNotNecessary(
{
public void run ( )
{
closeCallContainerIfNotNecessary ( call , wait ) ;
closeCallContainerIfNotNecessary (
callConference ,
wait ) ;
}
} ) ;
return ;
@ -1114,8 +1104,6 @@ public void run()
* the AWT event dispatching thread .
* /
CallConference conference = call . getConference ( ) ;
for ( Iterator < Map . Entry < CallConference , CallPanel > > entryIter
= callPanels . entrySet ( ) . iterator ( ) ;
entryIter . hasNext ( ) ; )
@ -1133,7 +1121,7 @@ public void run()
{
window . close (
aCallPanel ,
wait & & ( aConference = = c onference) ) ;
wait & & ( aConference = = c allC onference) ) ;
}
finally
{
@ -2596,7 +2584,7 @@ public void run()
* Dispose of the CallPanel associated with the Call which
* is to be merged .
* /
closeCallContainerIfNotNecessary ( c all , false ) ;
closeCallContainerIfNotNecessary ( c onference , false ) ;
call . setConference ( conference ) ;
}