[seahorse: 4/5] gkr: Fix problem where keyring items overwrite one another
- From: Stefan Walter <stefw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [seahorse: 4/5] gkr: Fix problem where keyring items overwrite one another
- Date: Mon, 22 Oct 2012 19:01:42 +0000 (UTC)
commit 0c64651c23437f140307046f302628ba63542561
Author: Stef Walter <stefw gnome org>
Date: Thu Oct 18 21:06:38 2012 +0200
gkr: Fix problem where keyring items overwrite one another
Regression since the migration to libsecret. Items stored
manually by choosing 'Stored Password' overwrite one another.
Don't use secret_service_store() as it uses the
SECRET_ITEM_CREATE_REOPLACE flag.
https://bugzilla.gnome.org/show_bug.cgi?id=686407
gkr/seahorse-gkr-add-item.c | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
---
diff --git a/gkr/seahorse-gkr-add-item.c b/gkr/seahorse-gkr-add-item.c
index 97c9b24..cbde94e 100644
--- a/gkr/seahorse-gkr-add-item.c
+++ b/gkr/seahorse-gkr-add-item.c
@@ -46,14 +46,16 @@ on_item_stored (GObject *source,
{
SeahorseWidget *swidget = SEAHORSE_WIDGET (user_data);
GError *error = NULL;
+ SecretItem *item;
/* Clear the operation without cancelling it since it is complete */
seahorse_gkr_dialog_complete_request (swidget, FALSE);
- secret_service_store_finish (SECRET_SERVICE (source), result, &error);
+ item = secret_item_create_finish (result, &error);
- /* Successful. Update the listings and stuff. */
- if (error != NULL) {
+ if (error == NULL) {
+ g_object_unref (item);
+ } else {
seahorse_util_handle_error (&error, seahorse_widget_get_toplevel (swidget),
_("Couldn't add item"));
}
@@ -114,11 +116,9 @@ on_add_item_response (GtkDialog *dialog,
cancellable = seahorse_gkr_dialog_begin_request (swidget);
attributes = g_hash_table_new (g_str_hash, g_str_equal);
- secret_service_store (secret_collection_get_service (collection),
- SECRET_SCHEMA_NOTE, attributes,
- g_dbus_proxy_get_object_path (G_DBUS_PROXY (collection)),
- label, secret, cancellable, on_item_stored,
- g_object_ref (swidget));
+ secret_item_create (collection, SECRET_SCHEMA_NOTE, attributes,
+ label, secret, SECRET_ITEM_CREATE_NONE,
+ cancellable, on_item_stored, g_object_ref (swidget));
g_hash_table_unref (attributes);
g_object_unref (cancellable);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]