| Index: webrtc/p2p/base/fakeportallocator.h
|
| diff --git a/webrtc/p2p/base/fakeportallocator.h b/webrtc/p2p/base/fakeportallocator.h
|
| index 58e1d5fac67d2e674a37055c3d6b7949b3f0ce97..0bb9c6e66cc3b695b6495d2541a32566e4503569 100644
|
| --- a/webrtc/p2p/base/fakeportallocator.h
|
| +++ b/webrtc/p2p/base/fakeportallocator.h
|
| @@ -132,6 +132,8 @@ class FakePortAllocatorSession : public PortAllocatorSession {
|
| port_.reset(TestUDPPort::Create(worker_thread_, factory_, &network,
|
| network.GetBestIP(), 0, 0, username(),
|
| password(), std::string(), false));
|
| + port_->SignalDestroyed.connect(
|
| + this, &FakePortAllocatorSession::OnPortDestroyed);
|
| AddPort(port_.get());
|
| }
|
| ++port_config_count_;
|
| @@ -188,6 +190,10 @@ class FakePortAllocatorSession : public PortAllocatorSession {
|
| allocation_done_ = true;
|
| SignalCandidatesAllocationDone(this);
|
| }
|
| + void OnPortDestroyed(cricket::PortInterface* port) {
|
| + // Don't want to double-delete port if it deletes itself.
|
| + port_.release();
|
| + }
|
|
|
| rtc::Thread* worker_thread_;
|
| rtc::PacketSocketFactory* factory_;
|
|
|