diff --git a/obexd/client/session.c b/obexd/client/session.c
index 825bee7..c894526 100644
--- a/obexd/client/session.c
+++ b/obexd/client/session.c
if (session->conn)
dbus_connection_unref(session->conn);
+ if (session->conn_system)
+ dbus_connection_unref(session->conn_system);
+
sessions = g_slist_remove(sessions, session);
g_free(session->callback);
return NULL;
}
+ session->conn_system = g_dbus_setup_bus(DBUS_BUS_SYSTEM, NULL, NULL);
+ if (session->conn_system == NULL) {
+ session_free(session);
+ return NULL;
+ }
+
if (source == NULL)
bacpy(&session->src, BDADDR_ANY);
else
diff --git a/obexd/client/session.h b/obexd/client/session.h
index 6f8a434..554b494 100644
--- a/obexd/client/session.h
+++ b/obexd/client/session.h
uuid_t uuid; /* Bluetooth Service Class */
gchar *path; /* Session path */
DBusConnection *conn;
+ DBusConnection *conn_system; /* system bus connection */
DBusMessage *msg;
GwObex *obex;
GIOChannel *io;