[cairo] [PATCH] Initialize mutexes for static builds for win32

Alexander Täschner alexandertaeschner at googlemail.com
Wed Jun 7 14:01:51 UTC 2017


For static builds for win32 the mutexes are not initialized (for dynamic
builds its done when the DLL is loaded). Therefore the patch add
initialization to the create surface calls.

---
 src/win32/cairo-win32-display-surface.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/win32/cairo-win32-display-surface.c
b/src/win32/cairo-win32-display-surface.c
index 025b2c9..56f0e65 100644
--- a/src/win32/cairo-win32-display-surface.c
+++ b/src/win32/cairo-win32-display-surface.c
@@ -953,7 +953,9 @@ cairo_win32_surface_create_with_format (HDC hdc,
cairo_format_t format)
     case CAIRO_FORMAT_RGB24:
  break;
     }
-
+#if CAIRO_WIN32_STATIC_BUILD
+    CAIRO_MUTEX_INITIALIZE ();
+#endif
     surface = malloc (sizeof (*surface));
     if (surface == NULL)
  return _cairo_surface_create_in_error (_cairo_error
(CAIRO_STATUS_NO_MEMORY));
@@ -1031,7 +1033,9 @@ cairo_win32_surface_create_with_dib (cairo_format_t
format,
 {
     if (! CAIRO_FORMAT_VALID (format))
  return _cairo_surface_create_in_error (_cairo_error
(CAIRO_STATUS_INVALID_FORMAT));
-
+#if CAIRO_WIN32_STATIC_BUILD
+    CAIRO_MUTEX_INITIALIZE ();
+#endif
     return _cairo_win32_display_surface_create_for_dc (NULL, format,
width, height);
 }

-- 
2.10.2.windows.1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cairographics.org/archives/cairo/attachments/20170607/d614fac6/attachment.html>


More information about the cairo mailing list