From 32bd03533db933819ecd973a514160f9bb818df9 Mon Sep 17 00:00:00 2001 From: Francois Andriot Date: Tue, 23 Jul 2013 08:53:00 -0500 Subject: Fix glib multithreading abort with versions less than 2.24 This resolves Bug 1581 --- src/kernel/qthread_unix.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/kernel/qthread_unix.cpp b/src/kernel/qthread_unix.cpp index 59c51f4..a48468b 100644 --- a/src/kernel/qthread_unix.cpp +++ b/src/kernel/qthread_unix.cpp @@ -405,7 +405,11 @@ void QThread::start(Priority priority) d->thread_id = NULL; // Legacy glib versions require this threading system initialization call - g_thread_init(NULL); + if (!GLIB_CHECK_VERSION (2, 32, 0)) { + if( ! g_thread_get_initialized () ) { + g_thread_init(NULL); + } + } GThread* glib_thread_handle = g_thread_create((GThreadFunc)QThreadInstance::start, d->args, false, NULL); if (glib_thread_handle) { -- cgit v1.2.3