Chromium Code Reviews| Index: jingle/glue/thread_wrapper.cc |
| =================================================================== |
| --- jingle/glue/thread_wrapper.cc (revision 117833) |
| +++ jingle/glue/thread_wrapper.cc (working copy) |
| @@ -49,7 +49,13 @@ |
| pending_send_event_(true, false) { |
| DCHECK_EQ(message_loop_, MessageLoop::current()); |
| - talk_base::ThreadManager::SetCurrent(this); |
| + talk_base::Thread* current_thread = |
| + talk_base::ThreadManager::Instance()->CurrentThread(); |
| + if (current_thread) { |
| + current_thread->UnwrapCurrent(); |
|
Sergey Ulanov
2012/01/19 01:36:22
Add DCHECK(!current_thread->Owned()); here.
|
| + delete current_thread; |
| + } |
| + talk_base::ThreadManager::Instance()->SetCurrentThread(this); |
| talk_base::MessageQueueManager::Instance()->Add(this); |
| message_loop_->AddDestructionObserver(this); |
| @@ -63,7 +69,7 @@ |
| DCHECK_EQ(talk_base::Thread::Current(), current()); |
| UnwrapCurrent(); |
| g_jingle_thread_wrapper.Get().Set(NULL); |
| - talk_base::ThreadManager::SetCurrent(NULL); |
| + talk_base::ThreadManager::Instance()->SetCurrentThread(NULL); |
| talk_base::MessageQueueManager::Instance()->Remove(this); |
| message_loop_->RemoveDestructionObserver(this); |
| delete this; |