diff options
author | Damian Minkov <damencho@jitsi.org> | 2012-01-11 15:25:13 +0000 |
---|---|---|
committer | Damian Minkov <damencho@jitsi.org> | 2012-01-11 15:25:13 +0000 |
commit | 6afae0933c0b49d3851dfa48a10477f6b381072d (patch) | |
tree | eb77935728bc50e1f3851b51bf26f2c2b4436738 /src/net/java | |
parent | c2aef4ba8217bb48c739b204785a647540ab6132 (diff) | |
download | jitsi-6afae0933c0b49d3851dfa48a10477f6b381072d.zip jitsi-6afae0933c0b49d3851dfa48a10477f6b381072d.tar.gz jitsi-6afae0933c0b49d3851dfa48a10477f6b381072d.tar.bz2 |
Makes sure the peer is set to failed if creating call failed, like starting a call without audio device.
Diffstat (limited to 'src/net/java')
-rw-r--r-- | src/net/java/sip/communicator/impl/protocol/jabber/CallGTalkImpl.java | 19 | ||||
-rw-r--r-- | src/net/java/sip/communicator/impl/protocol/jabber/CallJabberImpl.java | 19 |
2 files changed, 34 insertions, 4 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/CallGTalkImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/CallGTalkImpl.java index 6d9cdb4..a7995fe 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/CallGTalkImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/CallGTalkImpl.java @@ -214,8 +214,23 @@ public class CallGTalkImpl //STUN/TURN addresses in initiateSession() which would take a while. callPeer.setState(CallPeerState.CONNECTING); - callPeer.initiateSession(sessionInitiateExtensions); + // if initializing session fails, set peer to failed + boolean sessionInitiated = false; + try + { - return callPeer; + callPeer.initiateSession(sessionInitiateExtensions); + sessionInitiated = true; + + return callPeer; + } + finally + { + // if initialization throws an exception + if(!sessionInitiated) + { + callPeer.setState(CallPeerState.FAILED); + } + } } } diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/CallJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/CallJabberImpl.java index 66ec67b..d1a4cc6 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/CallJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/CallJabberImpl.java @@ -305,9 +305,24 @@ public class CallJabberImpl //STUN/TURN addresses in initiateSession() which would take a while. callPeer.setState(CallPeerState.CONNECTING); - callPeer.initiateSession(sessionInitiateExtensions); + // if initializing session fails, set peer to failed + boolean sessionInitiated = false; + try + { - return callPeer; + callPeer.initiateSession(sessionInitiateExtensions); + sessionInitiated = true; + + return callPeer; + } + finally + { + // if initialization throws an exception + if(!sessionInitiated) + { + callPeer.setState(CallPeerState.FAILED); + } + } } /** |