diff options
author | Johan Hedberg <johan.hedberg@nokia.com> | 2009-03-12 11:44:38 -0300 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@nokia.com> | 2009-03-12 11:44:38 -0300 |
commit | 1f393331ef64660e614cb21be347b7bebfcff2ed (patch) | |
tree | 377d6ea0ed90b492fb3bdd9a71d979c7b764f5e6 /audio/manager.c | |
parent | c4c03a457df6ad3708bf6abc8ad0a9d7edf3b454 (diff) |
Fix audio plugin initialization failure cases
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, |