mxe/src/cairo-2-static-init.patch

28 lines
956 B
Diff

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))