mirror of
https://gitlab.freedesktop.org/pkg-config/pkg-config.git
synced 2025-12-20 04:20:04 +01:00
When glib is built static, the threads and clock code are not initialized since DllMain is never run. Instead, initialize them from the glib constructor. https://bugzilla.gnome.org/show_bug.cgi?id=678387
32 lines
761 B
Diff
32 lines
761 B
Diff
When glib is built static, the threads and clock code are not
|
|
initialized since DllMain is never run. Instead, initialize them from
|
|
the glib constructor.
|
|
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=678387
|
|
|
|
diff --git a/glib/glib/glib-init.c b/glib/glib/glib-init.c
|
|
index f4edd5c..3ec89a0 100644
|
|
--- a/glib/glib/glib-init.c
|
|
+++ b/glib/glib/glib-init.c
|
|
@@ -225,6 +225,10 @@ glib_init (void)
|
|
|
|
HMODULE glib_dll;
|
|
|
|
+#endif
|
|
+
|
|
+#if defined (G_OS_WIN32) && !defined (GLIB_STATIC_COMPILATION)
|
|
+
|
|
BOOL WINAPI
|
|
DllMain (HINSTANCE hinstDLL,
|
|
DWORD fdwReason,
|
|
@@ -261,6 +265,10 @@ G_DEFINE_CONSTRUCTOR(glib_init_ctor)
|
|
static void
|
|
glib_init_ctor (void)
|
|
{
|
|
+#ifdef G_OS_WIN32
|
|
+ g_clock_win32_init ();
|
|
+ g_thread_win32_init ();
|
|
+#endif
|
|
glib_init ();
|
|
}
|
|
|