From 258e3f73b0372ddd20eded16f189ce432aa5062b Mon Sep 17 00:00:00 2001 From: Raymond Liu Date: Thu, 27 Nov 2008 15:05:50 +0800 Subject: [PATCH] obexd: Unregister service and session interfaces in session_unref --- obexd/client/session.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/obexd/client/session.c b/obexd/client/session.c index 30231fd6f..b8ec98735 100644 --- a/obexd/client/session.c +++ b/obexd/client/session.c @@ -105,20 +105,24 @@ static void session_unref(struct session_data *session) close(session->sock); if (session->conn) { - if (session->transfer_path) { - switch (session->uuid) { - case OBEX_FILETRANS_SVCLASS_ID: - g_dbus_unregister_interface(session->conn, - session->transfer_path, - TRANSFER_INTERFACE); - break; - case PBAP_PSE_SVCLASS_ID: - pbap_unregister_interface(session->conn, - session->transfer_path); - break; - } + if (session->transfer_path) + g_dbus_unregister_interface(session->conn, + session->transfer_path, TRANSFER_INTERFACE); + + switch (session->uuid) { + case OBEX_FILETRANS_SVCLASS_ID: + g_dbus_unregister_interface(session->conn, + session->path, FTP_INTERFACE); + break; + case PBAP_PSE_SVCLASS_ID: + pbap_unregister_interface(session->conn, + session->path); + break; } + g_dbus_unregister_interface(session->conn, + session->path, SESSION_INTERFACE); + dbus_connection_unref(session->conn); } -- 2.47.3