mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-14 00:04:15 +09:00
fix: battery module freeze when disabling (#336)
This commit is contained in:
@@ -202,7 +202,7 @@ open class Module: Module_p {
|
||||
|
||||
self.enabled = false
|
||||
self.store.pointee.set(key: "\(self.config.name)_state", value: false)
|
||||
self.readers.forEach{ $0.pause() }
|
||||
self.readers.forEach{ $0.stop() }
|
||||
self.menuBarItem.isVisible = false
|
||||
self.popup?.setIsVisible(false)
|
||||
os_log(.debug, log: log, "Module disabled")
|
||||
|
||||
@@ -209,18 +209,26 @@ public class ProcessReader: Reader<[TopProcess]> {
|
||||
return
|
||||
}
|
||||
|
||||
if self.task.isRunning && self.paused {
|
||||
if !self.task.isRunning {
|
||||
do {
|
||||
try self.task.run()
|
||||
} catch let error {
|
||||
os_log(.error, log: log, "run Battery process reader %s", "\(error)")
|
||||
}
|
||||
} else if self.paused {
|
||||
self.paused = !self.task.resume()
|
||||
} else {
|
||||
self.task.launch()
|
||||
}
|
||||
}
|
||||
|
||||
public override func pause() {
|
||||
self.paused = self.task.suspend()
|
||||
if self.task.isRunning && !self.paused {
|
||||
self.paused = self.task.suspend()
|
||||
}
|
||||
}
|
||||
|
||||
public override func stop() {
|
||||
self.task.interrupt()
|
||||
if self.task.isRunning && !self.paused {
|
||||
self.paused = self.task.suspend()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user