From 76f7d0008dc16f327b998b22c0bea9510ccc2666 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Mon, 6 Oct 2008 01:08:57 +0200 Subject: Fix D-Bus method return creation logic in hfp_slc_complete() --- audio/headset.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'audio/headset.c') diff --git a/audio/headset.c b/audio/headset.c index f7cc9ecf..7d227a7b 100644 --- a/audio/headset.c +++ b/audio/headset.c @@ -538,20 +538,22 @@ static void hfp_slc_complete(struct audio_device *dev) if (p == NULL) return; - if (p->msg) { - DBusMessage *reply = dbus_message_new_method_return(p->msg); - dbus_connection_send(dev->conn, reply, NULL); - dbus_message_unref(reply); - } - if (p->target_state == HEADSET_STATE_CONNECTED) { + if (p->msg) { + DBusMessage *reply = dbus_message_new_method_return(p->msg); + dbus_connection_send(dev->conn, reply, NULL); + dbus_message_unref(reply); + } pending_connect_finalize(dev); return; } p->err = sco_connect(dev, NULL, NULL, NULL); - if (p->err < 0) + if (p->err < 0) { + if (p->msg) + error_connection_attempt_failed(dev->conn, p->msg, p->err); pending_connect_finalize(dev); + } } static int telephony_generic_rsp(struct audio_device *device, cme_error_t err) -- cgit