From 774312dee03e80aa757b50a5cfae8d20a3a3bc9e Mon Sep 17 00:00:00 2001 From: Dan Barber Date: Sat, 2 Feb 2019 12:42:34 -0500 Subject: [PATCH] Initialize status This also fixes an occasional crash seen on quitting the app. --- Persephone/Base.lproj/Main.storyboard | 4 ++-- Persephone/MPDClient.swift | 12 ++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Persephone/Base.lproj/Main.storyboard b/Persephone/Base.lproj/Main.storyboard index 8de9e69..8c2191f 100644 --- a/Persephone/Base.lproj/Main.storyboard +++ b/Persephone/Base.lproj/Main.storyboard @@ -716,9 +716,9 @@ - + - + diff --git a/Persephone/MPDClient.swift b/Persephone/MPDClient.swift index da63f3d..d828e9e 100644 --- a/Persephone/MPDClient.swift +++ b/Persephone/MPDClient.swift @@ -50,18 +50,26 @@ class MPDClient { self.connection = connection self.status = status + self.initializeStatus() idle() } func disconnect() { - mpd_status_free(status) - mpd_connection_free(connection) + noIdle() + commandQueue.async { [unowned self] in + mpd_status_free(self.status) + mpd_connection_free(self.connection) + } } func fetchStatus() { sendCommand(command: .fetchStatus) } + func initializeStatus() { + self.delegate?.didUpdateState(mpdClient: self, state: self.getState()) + } + func getState() -> State { let state = mpd_status_get_state(status) return State(rawValue: state.rawValue)!