diff options
author | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-09 03:04:29 +0000 |
---|---|---|
committer | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-09 03:04:29 +0000 |
commit | 0df1845161542e8fdbb1af822d721756073fb878 (patch) | |
tree | eeb08ab061181a35175ddcdb9bb32b11a91bd626 /remoting | |
parent | cc44bddb00f372037d13f4a3a4ebee1df9264de0 (diff) | |
download | chromium_src-0df1845161542e8fdbb1af822d721756073fb878.zip chromium_src-0df1845161542e8fdbb1af822d721756073fb878.tar.gz chromium_src-0df1845161542e8fdbb1af822d721756073fb878.tar.bz2 |
[chromoting] Fix crash in JingleSession.
With ToT JingleSession may DCHECK in SetState() when the other end
disconnects. Don't call SetState() in ReleaseSession(), as it is not
neccessary.
BUG=None
TEST=Unittests
Review URL: http://codereview.chromium.org/6456015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74235 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting')
-rw-r--r-- | remoting/protocol/jingle_session.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/remoting/protocol/jingle_session.cc b/remoting/protocol/jingle_session.cc index 713dc06..cf49d53 100644 --- a/remoting/protocol/jingle_session.cc +++ b/remoting/protocol/jingle_session.cc @@ -182,12 +182,13 @@ bool JingleSession::HasSession(cricket::Session* cricket_session) { cricket::Session* JingleSession::ReleaseSession() { DCHECK_EQ(jingle_session_manager_->message_loop(), MessageLoop::current()); - SetState(CLOSED); + // Session may be destroyed only after it is closed. + DCHECK(closed_); + cricket::Session* session = cricket_session_; if (cricket_session_) cricket_session_->SignalState.disconnect(this); cricket_session_ = NULL; - closed_ = true; return session; } |