This file is part of MXE. See index.html for further information. When DllMain is not being run, we need to initialize the font face mutex before using it. diff --git a/src/win32/cairo-win32-font.c b/src/win32/cairo-win32-font.c index a65d81b..31d854d 100644 --- a/src/win32/cairo-win32-font.c +++ b/src/win32/cairo-win32-font.c @@ -1912,6 +1912,8 @@ _cairo_win32_font_face_hash_table_destroy (void) { cairo_hash_table_t *hash_table; + CAIRO_MUTEX_INITIALIZE (); + /* We manually acquire the lock rather than calling * _cairo_win32_font_face_hash_table_lock simply to avoid creating * the table only to destroy it again. */ @@ -1927,6 +1929,8 @@ _cairo_win32_font_face_hash_table_destroy (void) static cairo_hash_table_t * _cairo_win32_font_face_hash_table_lock (void) { + CAIRO_MUTEX_INITIALIZE (); + CAIRO_MUTEX_LOCK (_cairo_win32_font_face_mutex); if (unlikely (cairo_win32_font_face_hash_table == NULL))