a4604f554b
bnc#723908 OBS-URL: https://build.opensuse.org/request/show/87747 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/seahorse?expand=0&rev=107
41 lines
1.3 KiB
Diff
41 lines
1.3 KiB
Diff
commit bf10531f540db1941fb3418c01b01b45d7d196e9
|
|
Author: Vincent Untz <vuntz@gnome.org>
|
|
Date: Thu Oct 13 19:09:04 2011 +0200
|
|
|
|
Fix crash when adding a non-LDAP keyserver
|
|
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=661683
|
|
|
|
diff --git a/libseahorse/seahorse-prefs.c b/libseahorse/seahorse-prefs.c
|
|
index 93f6c2f..8afbc7a 100644
|
|
--- a/libseahorse/seahorse-prefs.c
|
|
+++ b/libseahorse/seahorse-prefs.c
|
|
@@ -233,20 +233,21 @@ calculate_keyserver_uri (SeahorseWidget *swidget)
|
|
const gchar *host = NULL;
|
|
const gchar *port = NULL;
|
|
GtkWidget *widget;
|
|
- GList *types;
|
|
+ gchar **types;
|
|
gint active;
|
|
gchar *uri;
|
|
+ guint i;
|
|
|
|
/* Figure out the scheme */
|
|
widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, "keyserver-type"));
|
|
g_return_val_if_fail (widget != NULL, NULL);
|
|
|
|
active = gtk_combo_box_get_active (GTK_COMBO_BOX (widget));
|
|
- if (active >= 0) {
|
|
- types = g_object_get_data (G_OBJECT (swidget), "keyserver-types");
|
|
- scheme = (const gchar*)g_list_nth_data (types, active);
|
|
- if (scheme && !scheme[0])
|
|
- scheme = NULL;
|
|
+ types = g_object_get_data (G_OBJECT (swidget), "keyserver-types");
|
|
+ if (active >= 0 && types) {
|
|
+ for (i = 0; types[i] != NULL && i < active; i++);
|
|
+ if (i == active && types[active] && types[active][0])
|
|
+ scheme = types[active];
|
|
}
|
|
|
|
/* The host */
|