X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fchimara-glk.c;h=d6743b63984979f2bbac03384a6a12861dd7daa9;hb=955c9dd36034872597385750ab6449b098ce66cf;hp=b8926dcab94bea86d9619c9100b1747dc66714c0;hpb=f0df98735cb5f3ff524be5689d45bb0ab4a27a74;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/chimara-glk.c b/libchimara/chimara-glk.c index b8926dc..d6743b6 100644 --- a/libchimara/chimara-glk.c +++ b/libchimara/chimara-glk.c @@ -1126,9 +1126,9 @@ free_startup_data(struct StartupData *startup) static gpointer glk_enter(struct StartupData *startup) { - extern GPrivate *glk_data_key; - g_private_set(glk_data_key, startup->glk_data); - + extern GPrivate glk_data_key; + g_private_set(&glk_data_key, startup->glk_data); + /* Acquire the Glk thread's references to the input queues */ g_async_queue_ref(startup->glk_data->char_input_queue); g_async_queue_ref(startup->glk_data->line_input_queue); @@ -1235,8 +1235,8 @@ chimara_glk_run(ChimaraGlk *glk, const gchar *plugin, int argc, char *argv[], GE g_object_notify(G_OBJECT(glk), "program-name"); /* Run in a separate thread */ - priv->thread = g_thread_create((GThreadFunc)glk_enter, startup, TRUE, error); - + priv->thread = g_thread_try_new("glk", (GThreadFunc)glk_enter, startup, error); + return !(priv->thread == NULL); }