fix: changed reference from unowned to weak in the modules (prevents crash in some cases)

This commit is contained in:
Serhiy Mytrovtsiy
2023-08-13 13:15:27 +02:00
parent d523a90103
commit 9115329767
9 changed files with 133 additions and 149 deletions

View File

@@ -101,22 +101,22 @@ public class GPU: Module {
self.infoReader = InfoReader(.GPU)
self.selectedGPU = Store.shared.string(key: "\(self.config.name)_gpu", defaultValue: self.selectedGPU)
self.infoReader?.callbackHandler = { [unowned self] value in
self.infoCallback(value)
self.infoReader?.callbackHandler = { [weak self] value in
self?.infoCallback(value)
}
self.infoReader?.readyCallback = { [unowned self] in
self.readyHandler()
self.infoReader?.readyCallback = { [weak self] in
self?.readyHandler()
}
self.settingsView.selectedGPUHandler = { [unowned self] value in
self.selectedGPU = value
self.infoReader?.read()
self.settingsView.selectedGPUHandler = { [weak self] value in
self?.selectedGPU = value
self?.infoReader?.read()
}
self.settingsView.setInterval = { [unowned self] value in
self.infoReader?.setInterval(value)
self.settingsView.setInterval = { [weak self] value in
self?.infoReader?.setInterval(value)
}
self.settingsView.callback = {
self.infoReader?.read()
self.settingsView.callback = { [weak self] in
self?.infoReader?.read()
}
if let reader = self.infoReader {
@@ -125,9 +125,7 @@ public class GPU: Module {
}
private func infoCallback(_ raw: GPUs?) {
guard raw != nil && !raw!.list.isEmpty, let value = raw, self.enabled else {
return
}
guard raw != nil && !raw!.list.isEmpty, let value = raw, self.enabled else { return }
DispatchQueue.main.async(execute: {
self.popupView.infoCallback(value)