From a4604f554b1fecb941b503a8d1e2473d19ba4c8e780e3f4c42b70344bbcc00fe Mon Sep 17 00:00:00 2001 From: Vincent Untz Date: Thu, 13 Oct 2011 17:23:39 +0000 Subject: [PATCH] Accepting request 87747 from home:vuntz:branches:GNOME:Factory 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 --- seahorse-fix-crash-on-keyserver-add.patch | 40 +++++++++++++++++++++++ seahorse.changes | 6 ++++ seahorse.spec | 3 ++ 3 files changed, 49 insertions(+) create mode 100644 seahorse-fix-crash-on-keyserver-add.patch diff --git a/seahorse-fix-crash-on-keyserver-add.patch b/seahorse-fix-crash-on-keyserver-add.patch new file mode 100644 index 0000000..e3d10e5 --- /dev/null +++ b/seahorse-fix-crash-on-keyserver-add.patch @@ -0,0 +1,40 @@ +commit bf10531f540db1941fb3418c01b01b45d7d196e9 +Author: Vincent Untz +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 */ diff --git a/seahorse.changes b/seahorse.changes index 5263f0b..df68709 100644 --- a/seahorse.changes +++ b/seahorse.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Oct 13 17:10:48 UTC 2011 - vuntz@opensuse.org + +- Add seahorse-fix-crash-on-keyserver-add.patch: fix crash when + adding a keyserver. Fix bnc#723908. + ------------------------------------------------------------------- Mon Sep 26 07:44:12 UTC 2011 - vuntz@opensuse.org diff --git a/seahorse.spec b/seahorse.spec index 4ad39b0..7171d62 100644 --- a/seahorse.spec +++ b/seahorse.spec @@ -26,6 +26,8 @@ Release: 1 Summary: GNOME interface for gnupg Url: http://projects.gnome.org/seahorse/ Source: http://download.gnome.org/sources/seahorse/3.2/%{name}-%{version}.tar.bz2 +# PATCH-FIX-UPSTREAM seahorse-fix-crash-on-keyserver-add.patch bgo#661683 bnc#723908 vuntz@opensuse.org -- Fix crash when adding a keyserver +Patch0: seahorse-fix-crash-on-keyserver-add.patch BuildRequires: fdupes BuildRequires: gnome-doc-utils-devel BuildRequires: gpg2 @@ -55,6 +57,7 @@ Seahorse is a GNOME interface for gnupg. It uses gpgme as the backend. %prep %setup -q translation-update-upstream +%patch0 -p1 %build %configure \