From 79e768bf14609f8f5a91a249687beac14b68687e Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Wed, 24 Jan 2007 19:34:16 +0000 Subject: headsetd fixes --- audio/headset.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/audio/headset.c b/audio/headset.c index 078f9332..1e7a6aad 100644 --- a/audio/headset.c +++ b/audio/headset.c @@ -1043,6 +1043,8 @@ static DBusHandlerResult hs_disconnect(struct headset *hs, DBusMessage *msg) DBusMessage *reply = NULL; char hs_address[18]; + assert(hs); + if (msg) { reply = dbus_message_new_method_return(msg); if (!reply) @@ -1064,7 +1066,8 @@ static DBusHandlerResult hs_disconnect(struct headset *hs, DBusMessage *msg) hs->state = HEADSET_STATE_DISCONNECTED; } - info("Disconnected from %s, %s", hs_address, hs->object_path); + ba2str(&hs->bda, hs_address); + info("Disconnected from %s, %s", &hs_address, hs->object_path ? hs->object_path : "null"); hs_signal(hs, "Disconnected"); @@ -1176,6 +1179,7 @@ static DBusHandlerResult hs_connect(struct headset *hs, DBusMessage *msg) { DBusPendingCall *pending; const char *hs_svc = "hsp"; + const char *addr_ptr; char hs_address[18]; assert(hs != NULL); @@ -1212,7 +1216,8 @@ static DBusHandlerResult hs_connect(struct headset *hs, DBusMessage *msg) } ba2str(&hs->bda, hs_address); - dbus_message_append_args(msg, DBUS_TYPE_STRING, &hs_address, + addr_ptr = hs_address; + dbus_message_append_args(msg, DBUS_TYPE_STRING, &addr_ptr, DBUS_TYPE_STRING, &hs_svc, DBUS_TYPE_INVALID); @@ -1670,8 +1675,6 @@ void audio_manager_create_headset_server(struct manager *amanager, uint8_t chan) g_io_channel_set_close_on_unref(amanager->server_sk, TRUE); g_io_add_watch(amanager->server_sk, G_IO_IN, (GIOFunc) server_io_cb, amanager); - - g_io_channel_unref(amanager->server_sk); } static gint headset_bda_cmp(gconstpointer aheadset, gconstpointer bda) -- cgit