[seahorse] pgp-backend: Use correct settings for last-search-servers



commit 6f8c402fa1f9e2a83a6ed00d51dd203e36e3f5d8
Author: Niels De Graef <nielsdegraef gmail com>
Date:   Sun Feb 21 11:12:15 2021 +0100

    pgp-backend: Use correct settings for last-search-servers
    
    This fixes a regression from commit bc26f2bf, which accidentally used
    the PGP settings to retrieve the latest search query, rather than
    seahorse's own settings.
    
    This commit also cleans up the API for the property a bit, so that it
    can be used with a `length` out-parameter from C. While we're at it,
    this also fixes a tiny memory leak in the keyserver search dialog.

 common/app-settings.vala        |  2 ++
 pgp/seahorse-keyserver-search.c | 27 +++++++++++++--------------
 pgp/seahorse-pgp-backend.c      |  2 +-
 3 files changed, 16 insertions(+), 15 deletions(-)
---
diff --git a/common/app-settings.vala b/common/app-settings.vala
index 370ebe7a..f7e80a5a 100644
--- a/common/app-settings.vala
+++ b/common/app-settings.vala
@@ -18,6 +18,8 @@
  */
 
 public class Seahorse.AppSettings : GLib.Settings {
+
+    [CCode (array_null_terminated = true, array_length = false)]
     public string[] last_search_servers {
         owned get { return get_strv("last-search-servers"); }
         set { set_strv("last-search-servers", value); }
diff --git a/pgp/seahorse-keyserver-search.c b/pgp/seahorse-keyserver-search.c
index 68fb2e88..3f7ddd31 100644
--- a/pgp/seahorse-keyserver-search.c
+++ b/pgp/seahorse-keyserver-search.c
@@ -213,24 +213,23 @@ foreach_child_select_checks (GtkWidget *widget, gpointer user_data)
 static void
 select_inital_keyservers (SeahorseKeyserverSearch *self)
 {
-       SeahorseAppSettings *app_settings;
-       gchar **names;
-       guint i;
+    SeahorseAppSettings *app_settings;
+    g_auto(GStrv) names = NULL;
 
-       app_settings = seahorse_app_settings_instance ();
-       names = seahorse_app_settings_get_last_search_servers (app_settings, NULL);
+    app_settings = seahorse_app_settings_instance ();
+    names = seahorse_app_settings_get_last_search_servers (app_settings);
 
-       /* We do case insensitive matches */
-       for (i = 0; names[i] != NULL; i++) {
-               gchar *name;
+    /* We do case insensitive matches */
+    for (guint i = 0; names[i] != NULL; i++) {
+        char *name;
 
-               name = g_utf8_casefold (names[i], -1);
-               g_free (names[i]);
-               names[i] = name;
-       }
+        name = g_utf8_casefold (names[i], -1);
+        g_free (names[i]);
+        names[i] = name;
+    }
 
-       gtk_container_foreach (GTK_CONTAINER (self->key_server_list), foreach_child_select_checks, names);
-       gtk_container_foreach (GTK_CONTAINER (self->shared_keys_list), foreach_child_select_checks, names);
+    gtk_container_foreach (GTK_CONTAINER (self->key_server_list), foreach_child_select_checks, names);
+    gtk_container_foreach (GTK_CONTAINER (self->shared_keys_list), foreach_child_select_checks, names);
 }
 
 /* Populating Lists --------------------------------------------------------- */
diff --git a/pgp/seahorse-pgp-backend.c b/pgp/seahorse-pgp-backend.c
index c08b26dc..25febf31 100644
--- a/pgp/seahorse-pgp-backend.c
+++ b/pgp/seahorse-pgp-backend.c
@@ -526,7 +526,7 @@ seahorse_pgp_backend_search_remote_async (SeahorsePgpBackend *self,
     g_return_if_fail (SEAHORSE_PGP_IS_BACKEND (self));
 
     /* Get a list of all selected key servers */
-    names = g_settings_get_strv (G_SETTINGS (self->pgp_settings), "last-search-servers");
+    names = seahorse_app_settings_get_last_search_servers (seahorse_app_settings_instance ());
     if (names != NULL && names[0] != NULL) {
         servers = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
         for (guint i = 0; names[i] != NULL; i++)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]