From 789fcf9ad3c3a2f7c8614371b7472b975da50d95 Mon Sep 17 00:00:00 2001 From: Vinicius Costa Gomes Date: Tue, 11 Nov 2008 10:31:00 -0300 Subject: [PATCH] obexd: Removes the owner disconnect watch when removing closing the session --- obexd/client/session.c | 7 +++++-- obexd/client/session.h | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/obexd/client/session.c b/obexd/client/session.c index 592624a1f..f0c505671 100644 --- a/obexd/client/session.c +++ b/obexd/client/session.c @@ -735,6 +735,8 @@ static DBusMessage *release_agent(DBusConnection *connection, static void session_shutdown(struct session_data *session) { + g_dbus_remove_watch(session->conn, session->owner_watch); + if (session->transfer_path) { agent_notify_error(session->conn, session->agent_name, session->agent_path, session->transfer_path, @@ -1448,8 +1450,9 @@ int session_register(struct session_data *session) return -EIO; } - g_dbus_add_disconnect_watch(session->conn, session->owner, - owner_disconnected, session, NULL); + session->owner_watch = g_dbus_add_disconnect_watch(session->conn, + session->owner, owner_disconnected, session, + NULL); session_ref(session); diff --git a/obexd/client/session.h b/obexd/client/session.h index dd0c50296..16c3392fc 100644 --- a/obexd/client/session.h +++ b/obexd/client/session.h @@ -53,6 +53,7 @@ struct session_data { gchar *agent_path; guint agent_watch; gchar *owner; /* Session owner */ + guint owner_watch; GPtrArray *pending; }; -- 2.47.3