Make static data thread safe in pangoft2-fontmap.c
authorAlessandro Pignotti <a.pignotti@sssup.it>
Wed, 25 May 2011 14:55:58 +0000 (16:55 +0200)
committerBehdad Esfahbod <behdad@behdad.org>
Tue, 28 Aug 2012 03:33:39 +0000 (23:33 -0400)
pango/pangoft2-fontmap.c

index 3da0f16..c3a8439 100644 (file)
@@ -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);
 }