aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/pdm-dialog.c36
1 files changed, 21 insertions, 15 deletions
diff --git a/src/pdm-dialog.c b/src/pdm-dialog.c
index 697773cd0..c4c28b1cf 100644
--- a/src/pdm-dialog.c
+++ b/src/pdm-dialog.c
@@ -1270,26 +1270,32 @@ pdm_dialog_passwords_construct (PdmActionInfo *info)
}
static void
-pdm_dialog_fill_passwords_list (PdmActionInfo *info)
+pdm_dialog_fill_passwords_list_async_cb (GnomeKeyringResult result,
+ GList *list,
+ gpointer data)
{
- GList *list, *l;
- GnomeKeyringResult result;
+ GList *l;
+ PdmActionInfo *info = (PdmActionInfo *)data;
- result = gnome_keyring_list_item_ids_sync (GNOME_KEYRING_DEFAULT, &list);
+ if (result != GNOME_KEYRING_RESULT_OK)
+ return;
- if (result == GNOME_KEYRING_RESULT_OK)
- {
- for (l = list; l != NULL; l = l->next)
- info->add (info, l->data);
- g_list_free (list);
- }
+ for (l = list; l != NULL; l = l->next)
+ info->add (info, l->data);
- /* Let's get notified when the list changes */
- info->filled = TRUE;
+ info->filled = TRUE;
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (info->model),
+ COL_PASSWORDS_HOST,
+ GTK_SORT_ASCENDING);
+}
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (info->model),
- COL_PASSWORDS_HOST,
- GTK_SORT_ASCENDING);
+static void
+pdm_dialog_fill_passwords_list (PdmActionInfo *info)
+{
+ gnome_keyring_list_item_ids (GNOME_KEYRING_DEFAULT,
+ pdm_dialog_fill_passwords_list_async_cb,
+ info,
+ NULL);
}
static void