aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java
diff options
context:
space:
mode:
authorDamian Minkov <damencho@jitsi.org>2012-01-11 15:25:13 +0000
committerDamian Minkov <damencho@jitsi.org>2012-01-11 15:25:13 +0000
commit6afae0933c0b49d3851dfa48a10477f6b381072d (patch)
treeeb77935728bc50e1f3851b51bf26f2c2b4436738 /src/net/java
parentc2aef4ba8217bb48c739b204785a647540ab6132 (diff)
downloadjitsi-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.java19
-rw-r--r--src/net/java/sip/communicator/impl/protocol/jabber/CallJabberImpl.java19
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);
+ }
+ }
}
/**