From 80406eba4314aab8a1343953852ca12b9fdfc138 Mon Sep 17 00:00:00 2001 From: Mikel Astiz Date: Thu, 24 Jan 2013 10:16:57 +0100 Subject: [PATCH] bluetooth: Fix sending D-Bus reply before internal callback Make sure the reply to SetConfiguration() is sent before the internal hook is fired. This is important because the hook could have side effects including D-Bus interfactions (i.e. transport Acquire() being called during module startup). --- src/modules/bluetooth/bluetooth-util.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/bluetooth/bluetooth-util.c b/src/modules/bluetooth/bluetooth-util.c index 92254f2..1a14c9c 100644 --- a/src/modules/bluetooth/bluetooth-util.c +++ b/src/modules/bluetooth/bluetooth-util.c @@ -1356,11 +1356,13 @@ static DBusMessage *endpoint_set_configuration(DBusConnection *conn, DBusMessage pa_log_debug("Transport %s profile %d available", t->path, t->profile); pa_assert_se(r = dbus_message_new_method_return(m)); + pa_assert_se(dbus_connection_send(pa_dbus_connection_get(y->connection), r, NULL)); + dbus_message_unref(r); if (old_any_connected != pa_bluetooth_device_any_audio_connected(d)) run_callback(d, false); - return r; + return NULL; fail: pa_log("org.bluez.MediaEndpoint.SetConfiguration: invalid arguments"); -- 2.7.4