diff --git a/tools/mpris-player.c b/tools/mpris-player.c
index f17b589..6778726 100644
--- a/tools/mpris-player.c
+++ b/tools/mpris-player.c
DBUS_TYPE_INVALID);
}
+static void remove_players(DBusConnection *conn)
+{
+ char **paths;
+ int i;
+
+ dbus_connection_list_registered(conn, "/", &paths);
+
+ for (i = 0; paths[i]; i++) {
+ char *path;
+ void *data;
+
+ path = g_strdup_printf("/%s", paths[i]);
+ dbus_connection_get_object_path_data(sys, path, &data);
+ dbus_connection_unregister_object_path(sys, path);
+
+ g_free(path);
+ g_free(data);
+ }
+
+ dbus_free_string_array(paths);
+}
+
static void proxy_removed(GDBusProxy *proxy, void *user_data)
{
const char *interface;
return;
printf("Bluetooth Adapter %s removed\n", path);
adapter = NULL;
+ remove_players(sys);
} else if (strcmp(interface, BLUEZ_MEDIA_PLAYER_INTERFACE) == 0) {
struct player *player;