summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libsecret/secret-file-backend.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libsecret/secret-file-backend.c b/libsecret/secret-file-backend.c
index e69c319..649ef0d 100644
--- a/libsecret/secret-file-backend.c
+++ b/libsecret/secret-file-backend.c
@@ -231,6 +231,11 @@ on_portal_response (GDBusConnection *connection,
InitClosure *init = g_task_get_task_data (task);
guint32 response;
+ if (init->cancellable_signal_id) {
+ g_cancellable_disconnect (g_task_get_cancellable (task), init->cancellable_signal_id);
+ init->cancellable_signal_id = 0;
+ }
+
g_dbus_connection_signal_unsubscribe (connection,
init->portal_signal_id);
@@ -303,6 +308,7 @@ on_portal_cancel (GCancellable *cancellable,
task);
g_cancellable_disconnect (cancellable, init->cancellable_signal_id);
+ init->cancellable_signal_id = 0;
}
static void