summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pango/pangoft2-fontmap.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/pango/pangoft2-fontmap.c b/pango/pangoft2-fontmap.c
index 3da0f165..c3a8439b 100644
--- a/pango/pangoft2-fontmap.c
+++ b/pango/pangoft2-fontmap.c
@@ -269,10 +269,8 @@ pango_ft2_get_context (double dpi_x, double dpi_y)
PangoFontMap *
pango_ft2_font_map_for_display (void)
{
- if (pango_ft2_global_fontmap != NULL)
- return PANGO_FONT_MAP (pango_ft2_global_fontmap);
-
- pango_ft2_global_fontmap = (PangoFT2FontMap *)pango_ft2_font_map_new ();
+ if (g_once_init_enter ((gsize*)&pango_ft2_global_fontmap))
+ g_once_init_leave((gsize*)&pango_ft2_global_fontmap, (gsize)pango_ft2_font_map_new ());
return PANGO_FONT_MAP (pango_ft2_global_fontmap);
}