From 5b8d712addb868824938e99345752bcb30fed31a Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Sat, 13 Oct 2018 15:26:11 -0600 Subject: [PATCH] add missing retain in peer connection client --- Signal/src/call/PeerConnectionClient.swift | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Signal/src/call/PeerConnectionClient.swift b/Signal/src/call/PeerConnectionClient.swift index b6ea0b236..02e7298f9 100644 --- a/Signal/src/call/PeerConnectionClient.swift +++ b/Signal/src/call/PeerConnectionClient.swift @@ -674,12 +674,13 @@ class PeerConnectionClient: NSObject, RTCPeerConnectionDelegate, RTCDataChannelD let hardenedSessionDescription = HardenedRTCSessionDescription(rtcSessionDescription: sessionDescription) - strongSelf.setLocalSessionDescriptionInternal(hardenedSessionDescription) - .done(on: PeerConnectionClient.signalingQueue) { - resolver.fulfill(hardenedSessionDescription) - }.catch { error in - resolver.reject(error) - } + firstly { + strongSelf.setLocalSessionDescriptionInternal(hardenedSessionDescription) + }.done(on: PeerConnectionClient.signalingQueue) { + resolver.fulfill(hardenedSessionDescription) + }.catch { error in + resolver.reject(error) + }.retainUntilComplete() } PeerConnectionClient.signalingQueue.async {