summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--daemon/dbus/gkd-secret-prompt.c9
-rw-r--r--daemon/dbus/gkd-secret-unlock.c12
2 files changed, 16 insertions, 5 deletions
diff --git a/daemon/dbus/gkd-secret-prompt.c b/daemon/dbus/gkd-secret-prompt.c
index 65ee413d..207cc8a6 100644
--- a/daemon/dbus/gkd-secret-prompt.c
+++ b/daemon/dbus/gkd-secret-prompt.c
@@ -72,8 +72,13 @@ emit_completed (GkdSecretPrompt *self, gboolean dismissed)
g_return_if_fail (GKD_SECRET_PROMPT_GET_CLASS (self)->encode_result);
variant = GKD_SECRET_PROMPT_GET_CLASS (self)->encode_result (self);
- gkd_exported_prompt_emit_completed (self->pv->skeleton,
- dismissed, variant);
+ /* Emit signal manually, so that we can set the caller as destination */
+ g_dbus_connection_emit_signal (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (self->pv->skeleton)),
+ self->pv->caller,
+ g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (self->pv->skeleton)),
+ "org.freedesktop.Secret.Prompt", "Completed",
+ g_variant_new ("(b@v)", dismissed, variant),
+ NULL);
}
static void
diff --git a/daemon/dbus/gkd-secret-unlock.c b/daemon/dbus/gkd-secret-unlock.c
index 02f8cffb..a1a551f6 100644
--- a/daemon/dbus/gkd-secret-unlock.c
+++ b/daemon/dbus/gkd-secret-unlock.c
@@ -149,6 +149,7 @@ mark_as_complete (GkdSecretUnlock *self, gboolean dismissed)
const char *value;
gint i;
GVariantBuilder builder;
+ GVariant *variant;
if (self->completed)
return FALSE;
@@ -160,9 +161,14 @@ mark_as_complete (GkdSecretUnlock *self, gboolean dismissed)
g_variant_builder_add (&builder, "o", value);
}
- gkd_exported_prompt_emit_completed (self->skeleton,
- dismissed,
- g_variant_new_variant (g_variant_builder_end (&builder)));
+ /* Emit signal manually, so that we can set the caller as destination */
+ variant = g_variant_new_variant (g_variant_builder_end (&builder));
+ g_dbus_connection_emit_signal (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (self->skeleton)),
+ self->caller,
+ g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (self->skeleton)),
+ "org.freedesktop.Secret.Prompt", "Completed",
+ g_variant_new ("(b@v)", dismissed, variant),
+ NULL);
/* Fire off the next item in the unlock prompt queue */
other = g_queue_pop_head (&unlock_prompt_queue);