mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Fix NetworkHelper deallocation after adopting weak in MTContext
This commit is contained in:
parent
037ebcf764
commit
2ba969a5cb
@ -662,6 +662,9 @@ private final class NetworkHelper: NSObject, MTContextChangeListener {
|
|||||||
self.contextLoggedOutUpdated = contextLoggedOutUpdated
|
self.contextLoggedOutUpdated = contextLoggedOutUpdated
|
||||||
}
|
}
|
||||||
|
|
||||||
|
deinit {
|
||||||
|
}
|
||||||
|
|
||||||
func fetchContextDatacenterPublicKeys(_ context: MTContext, datacenterId: Int) -> MTSignal {
|
func fetchContextDatacenterPublicKeys(_ context: MTContext, datacenterId: Int) -> MTSignal {
|
||||||
return MTSignal { subscriber in
|
return MTSignal { subscriber in
|
||||||
let disposable = self.requestPublicKeys(datacenterId).start(next: { next in
|
let disposable = self.requestPublicKeys(datacenterId).start(next: { next in
|
||||||
@ -737,6 +740,7 @@ public final class Network: NSObject, MTRequestMessageServiceDelegate {
|
|||||||
private let queue: Queue
|
private let queue: Queue
|
||||||
public let datacenterId: Int
|
public let datacenterId: Int
|
||||||
public let context: MTContext
|
public let context: MTContext
|
||||||
|
private var networkHelper: NetworkHelper?
|
||||||
let mtProto: MTProto
|
let mtProto: MTProto
|
||||||
let requestService: MTRequestMessageService
|
let requestService: MTRequestMessageService
|
||||||
let basePath: String
|
let basePath: String
|
||||||
@ -811,7 +815,7 @@ public final class Network: NSObject, MTRequestMessageServiceDelegate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let _contextProxyId = self._contextProxyId
|
let _contextProxyId = self._contextProxyId
|
||||||
context.add(NetworkHelper(requestPublicKeys: { [weak self] id in
|
let networkHelper = NetworkHelper(requestPublicKeys: { [weak self] id in
|
||||||
if let strongSelf = self {
|
if let strongSelf = self {
|
||||||
return strongSelf.request(Api.functions.help.getCdnConfig())
|
return strongSelf.request(Api.functions.help.getCdnConfig())
|
||||||
|> map(Optional.init)
|
|> map(Optional.init)
|
||||||
@ -852,7 +856,9 @@ public final class Network: NSObject, MTRequestMessageServiceDelegate {
|
|||||||
}, contextLoggedOutUpdated: { [weak self] in
|
}, contextLoggedOutUpdated: { [weak self] in
|
||||||
Logger.shared.log("Network", "contextLoggedOut")
|
Logger.shared.log("Network", "contextLoggedOut")
|
||||||
self?.loggedOut?()
|
self?.loggedOut?()
|
||||||
}))
|
})
|
||||||
|
self.networkHelper = networkHelper
|
||||||
|
context.add(networkHelper)
|
||||||
requestService.delegate = self
|
requestService.delegate = self
|
||||||
|
|
||||||
self._multiplexedRequestManager = MultiplexedRequestManager(takeWorker: { [weak self] target, tag, continueInBackground in
|
self._multiplexedRequestManager = MultiplexedRequestManager(takeWorker: { [weak self] target, tag, continueInBackground in
|
||||||
|
Loading…
x
Reference in New Issue
Block a user