diff --git a/gdm-2.18.0-dont-expect-utf8.patch b/gdm-2.18.0-dont-expect-utf8.patch new file mode 100644 index 0000000..36230fc --- /dev/null +++ b/gdm-2.18.0-dont-expect-utf8.patch @@ -0,0 +1,44 @@ +--- gdm-2.18.0/gui/greeter/greeter_item_ulist.c.dont-expect-utf8 2007-04-05 11:19:40.000000000 -0400 ++++ gdm-2.18.0/gui/greeter/greeter_item_ulist.c 2007-04-05 11:39:06.000000000 -0400 +@@ -168,6 +168,29 @@ + &size_of_users, GDM_IS_LOCAL, !DOING_GDM_DEVELOPMENT); + } + ++static gchar * ++greeter_string_to_escaped_utf8 (const gchar *raw_string) ++{ ++ gchar *utf8_string, *escaped_string, *p; ++ const gchar *q; ++ ++ utf8_string = g_strdup (raw_string); ++ p = utf8_string; ++ while ((*p != '\0') && ++ !g_utf8_validate (p, -1, &q)) { ++ p = (gchar *) q; ++ *p = '?'; ++ p++; ++ } ++ ++ g_assert (g_utf8_validate (utf8_string, -1, NULL)); ++ ++ escaped_string = g_markup_escape_text (utf8_string, -1); ++ g_free (utf8_string); ++ ++ return escaped_string; ++} ++ + static void + greeter_populate_user_list (GtkTreeModel *tm) + { +@@ -181,9 +204,9 @@ + gboolean active; + + if (usr->gecos && strcmp (usr->gecos, "") != 0) { +- name = g_markup_escape_text (usr->gecos, -1); ++ name = greeter_string_to_escaped_utf8 (usr->gecos); + } else { +- name = g_markup_escape_text (usr->login, -1); ++ name = greeter_string_to_escaped_utf8 (usr->login); + } + + if (g_hash_table_lookup (displays_hash, usr->login)) diff --git a/gdm.spec b/gdm.spec index 7b811b8..5ff2731 100644 --- a/gdm.spec +++ b/gdm.spec @@ -16,7 +16,7 @@ Summary: The GNOME Display Manager Name: gdm Version: 2.18.0 -Release: 7%{?dist} +Release: 8%{?dist} Epoch: 1 License: LGPL/GPL Group: User Interface/X @@ -70,6 +70,8 @@ Patch34: gdm-2.18.0-add-lowres-fix.patch # http://bugzilla.gnome.org/show_bug.cgi?id=424229 Patch35: gdm-2.18.0-dont-strcpy-overlapping-strings.patch +Patch36: gdm-2.18.0-dont-expect-utf8.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Prereq: /usr/sbin/useradd @@ -156,6 +158,7 @@ Extra icons / faces for the GNOME Display Manager. %patch33 -p0 -b .pass-ats-to-session %patch34 -p1 -b .add-lowres-fix %patch35 -p1 -b .dont-strcpy-overlapping-strings +%patch36 -p1 -b .dont-expect-utf8 %build cp -f %{SOURCE1} config/gdm @@ -376,6 +379,9 @@ fi %{_datadir}/pixmaps/faces/extras/*.jpg %changelog +* Thu Apr 5 2007 Ray Strode - 1:2.18.0-8 +- don't expect utf-8 usernames for face browser (bug 235351). + * Thu Mar 29 2007 Ray Strode - 1:2.18.0-7 - don't strcpy overlapping strings (bug 208181).