]> Dogcows Code - chaz/openbox/blobdiff - render/font.c
add some debug prints
[chaz/openbox] / render / font.c
index 85aac3c405015ff3e0f52c7a06eb3dffa2bb3f5f..166b9abb8182bafc8c782ca2f8a71931bdcff59e 100644 (file)
 static void measure_font(const RrInstance *inst, RrFont *f)
 {
     PangoFontMetrics *metrics;
-    gchar *locale, *p;
-
-    /* get the default language from the locale
-       (based on gtk_get_default_language in gtkmain.c) */
-    locale = g_strdup(setlocale(LC_CTYPE, NULL));
-    if ((p = strchr(locale, '.'))) *p = '\0'; /* strip off the . */
-    if ((p = strchr(locale, '@'))) *p = '\0'; /* strip off the @ */
+    static PangoLanguage *lang = NULL;
+
+    if (lang == NULL) {
+#if PANGO_VERSION_CHECK(1,16,0)
+        lang = pango_language_get_default();
+#else
+        gchar *locale, *p;
+        /* get the default language from the locale
+           (based on gtk_get_default_language in gtkmain.c) */
+        locale = g_strdup(setlocale(LC_CTYPE, NULL));
+        if ((p = strchr(locale, '.'))) *p = '\0'; /* strip off the . */
+        if ((p = strchr(locale, '@'))) *p = '\0'; /* strip off the @ */
+        lang = pango_language_from_string(locale);
+        g_free(locale);
+#endif
+    }
 
     /* measure the ascent and descent */
-    metrics = pango_context_get_metrics(inst->pango, f->font_desc,
-                                        pango_language_from_string(locale));
+    metrics = pango_context_get_metrics(inst->pango, f->font_desc, lang);
     f->ascent = pango_font_metrics_get_ascent(metrics);
     f->descent = pango_font_metrics_get_descent(metrics);
     pango_font_metrics_unref(metrics);
 
-    g_free(locale);
 }
 
 RrFont *RrFontOpen(const RrInstance *inst, const gchar *name, gint size,
This page took 0.021931 seconds and 4 git commands to generate.