From: Lennart Poettering Date: Mon, 13 Oct 2008 17:52:02 +0000 (+0200) Subject: properly remove dbus matches an filters when unloading m-b-d X-Git-Tag: submit/2.0-panda/20130828.192557~2584 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5a5d2884e08e964a8d94302bd065b2187732cb94;p=profile%2Fivi%2Fpulseaudio-panda.git properly remove dbus matches an filters when unloading m-b-d --- diff --git a/src/modules/bluetooth/module-bluetooth-discover.c b/src/modules/bluetooth/module-bluetooth-discover.c index a33ca64..ad436f3 100644 --- a/src/modules/bluetooth/module-bluetooth-discover.c +++ b/src/modules/bluetooth/module-bluetooth-discover.c @@ -485,8 +485,23 @@ void pa__done(pa_module* m) { device_free(i); } - if (u->conn) + if (u->conn) { + DBusError error; + dbus_error_init(&error); + + dbus_bus_remove_match(pa_dbus_connection_get(u->conn), "type='signal',sender='org.bluez',interface='org.bluez.Adapter',member='DeviceRemoved'", &error); + dbus_error_free(&error); + + dbus_bus_remove_match(pa_dbus_connection_get(u->conn), "type='signal',sender='org.bluez',interface='org.bluez.Headset',member='PropertyChanged'", &error); + dbus_error_free(&error); + + dbus_bus_remove_match(pa_dbus_connection_get(u->conn), "type='signal',sender='org.bluez',interface='org.bluez.AudioSink',member='PropertyChanged'", &error); + dbus_error_free(&error); + + dbus_connection_remove_filter(pa_dbus_connection_get(u->conn), filter_cb, u); + pa_dbus_connection_unref(u->conn); + } pa_xfree(u); }