diff options
Diffstat (limited to 'audio/manager.c')
-rw-r--r-- | audio/manager.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/audio/manager.c b/audio/manager.c index fd0e6f62..2e48654a 100644 --- a/audio/manager.c +++ b/audio/manager.c @@ -982,10 +982,17 @@ proceed: void audio_manager_exit(void) { + /* Bail out early if we haven't been initialized */ + if (connection == NULL) + return; + dbus_connection_unref(connection); + connection = NULL; - if (config) + if (config) { g_key_file_free(config); + config = NULL; + } if (enabled.headset) { btd_unregister_adapter_driver(&headset_server_driver); @@ -1002,8 +1009,6 @@ void audio_manager_exit(void) btd_unregister_adapter_driver(&avrcp_server_driver); btd_unregister_device_driver(&audio_driver); - - connection = NULL; } struct audio_device *manager_find_device(const bdaddr_t *bda, const char *interface, |