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