diff options
Diffstat (limited to 'src/pdm-dialog.c')
-rw-r--r-- | src/pdm-dialog.c | 36 |
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 |