gdm r6379 - in trunk: . gui/simple-greeter
- From: behdad svn gnome org
- To: svn-commits-list gnome org
- Subject: gdm r6379 - in trunk: . gui/simple-greeter
- Date: Thu, 14 Aug 2008 20:03:56 +0000 (UTC)
Author: behdad
Date: Thu Aug 14 20:03:56 2008
New Revision: 6379
URL: http://svn.gnome.org/viewvc/gdm?rev=6379&view=rev
Log:
2008-08-14 Behdad Esfahbod <behdad gnome org>
Bug 547826 â Whitelist languages not known by fontconfig
* configure.ac: Require fontconfig >= 2.6.0
* gui/simple-greeter/gdm-language-chooser-widget.c
(language_has_font): Accept language if FcLangGetCharSet()
returns NULL on it.
Modified:
trunk/ChangeLog
trunk/configure.ac
trunk/gui/simple-greeter/gdm-language-chooser-widget.c
Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Thu Aug 14 20:03:56 2008
@@ -49,6 +49,7 @@
POLICYKIT_REQUIRED_VERSION=0.8
GNOME_PANEL_REQUIRED_VERSION=2.0.0
LIBXKLAVIER_REQUIRED_VERSION=3.5
+FONTCONFIG_REQUIRED_VERSION=2.6.0
EXTRA_COMPILE_WARNINGS(yes)
@@ -99,6 +100,7 @@
gtk+-2.0 >= $GTK_REQUIRED_VERSION
libglade-2.0 >= $LIBGLADE_REQUIRED_VERSION
gconf-2.0 >= $GCONF_REQUIRED_VERSION
+ fontconfig >= $FONTCONFIG_REQUIRED_VERSION
)
AC_SUBST(SIMPLE_GREETER_CFLAGS)
AC_SUBST(SIMPLE_GREETER_LIBS)
Modified: trunk/gui/simple-greeter/gdm-language-chooser-widget.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-language-chooser-widget.c (original)
+++ trunk/gui/simple-greeter/gdm-language-chooser-widget.c Thu Aug 14 20:03:56 2008
@@ -133,6 +133,7 @@
static gboolean
language_has_font (const char *locale)
{
+ const FcCharSet *charset;
FcPattern *pattern;
FcObjectSet *object_set;
FcFontSet *font_set;
@@ -146,22 +147,30 @@
gdm_parse_language_name (locale, &language_code, NULL, NULL, NULL);
- pattern = FcPatternBuild (NULL, FC_LANG, FcTypeString, language_code, NULL);
+ charset = FcLangGetCharSet ((FcChar8 *) language_code);
+ if (!charset)
+ /* fontconfig does not know about this language */
+ is_displayable = TRUE;
+ else
+ {
+ /* see if any fonts support rendering it */
+ pattern = FcPatternBuild (NULL, FC_LANG, FcTypeString, language_code, NULL);
+
+ if (pattern == NULL)
+ goto done;
+
+ object_set = FcObjectSetCreate ();
+
+ if (object_set == NULL)
+ goto done;
- if (pattern == NULL)
- goto done;
+ font_set = FcFontList (NULL, pattern, object_set);
- object_set = FcObjectSetBuild (NULL, NULL);
+ if (font_set == NULL)
+ goto done;
- if (object_set == NULL)
- goto done;
-
- font_set = FcFontList (NULL, pattern, object_set);
-
- if (font_set == NULL)
- goto done;
-
- is_displayable = (font_set->nfont > 0);
+ is_displayable = (font_set->nfont > 0);
+ }
done:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]