GtkAboutDialog: Be slightly more flexible when listing credits

Make sure we render credits ok that are occurring in the wild,
such as "Contact us at:", "<foo@bar>" or "guy1\nguy2\nguy3"

https://bugzilla.gnome.org/show_bug.cgi?id=637763
https://bugzilla.gnome.org/show_bug.cgi?id=637736
This commit is contained in:
Matthias Clasen 2010-12-22 01:03:58 -05:00
parent 4cc76927b1
commit a6b05106a5

View File

@ -2277,6 +2277,7 @@ add_credits_section (GtkAboutDialog *about,
{
gchar *link;
gchar *text;
gchar *name;
if (*q1 == '<')
{
@ -2284,6 +2285,7 @@ add_credits_section (GtkAboutDialog *about,
gchar *escaped;
text = g_strstrip (g_strndup (q0, q1 - q0));
name = g_markup_escape_text (text, -1);
q1++;
link = g_strndup (q1, q2 - q1);
q2++;
@ -2291,22 +2293,25 @@ add_credits_section (GtkAboutDialog *about,
g_string_append_printf (str,
"<a href=\"mailto:%s\">%s</a>",
escaped,
text);
name[0] ? name : link);
g_free (escaped);
g_free (link);
g_free (text);
g_free (name);
}
else
{
/* uri */
text = g_strstrip (g_strndup (q0, q1 - q0));
name = g_markup_escape_text (text, -1);
link = g_strndup (q1, q2 - q1);
g_string_append_printf (str,
"<a href=\"%s\">%s</a>",
link,
text);
name[0] ? name : link);
g_free (link);
g_free (text);
g_free (name);
}
q0 = q2;