X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fchimara-glk.c;h=ae39f168c892e49639e39af559b9ebaf5cb0c3c8;hb=337ecd489f8430655aff7b567f383efb3a720d1c;hp=f7887a94a7485a5e434e2a3e8345f0d0d3539c22;hpb=db8dde85ef01518d74df205d083ba1fb501b21c9;p=rodin%2Fchimara.git diff --git a/libchimara/chimara-glk.c b/libchimara/chimara-glk.c index f7887a9..ae39f16 100644 --- a/libchimara/chimara-glk.c +++ b/libchimara/chimara-glk.c @@ -2,7 +2,8 @@ #include #include -#include +#include +#include #include #include #include "chimara-glk.h" @@ -12,6 +13,7 @@ #include "window.h" #include "glkstart.h" #include "glkunix.h" +#include "init.h" #define CHIMARA_GLK_MIN_WIDTH 0 #define CHIMARA_GLK_MIN_HEIGHT 0 @@ -673,6 +675,9 @@ chimara_glk_class_init(ChimaraGlkClass *klass) GtkWidget * chimara_glk_new(void) { + /* This is a library entry point; initialize the library */ + chimara_init(); + ChimaraGlk *self = CHIMARA_GLK(g_object_new(CHIMARA_TYPE_GLK, NULL)); ChimaraGlkPrivate *priv = CHIMARA_GLK_PRIVATE(self); @@ -1021,10 +1026,6 @@ chimara_glk_run(ChimaraGlk *glk, gchar *plugin, int argc, char *argv[], GError * /* Set the program name */ startup->args.argv[0] = g_strdup(plugin); } - - /* Initialize thread-private data */ - extern GPrivate *glk_data_key; - glk_data_key = g_private_new(NULL); startup->glk_data = priv; /* Run in a separate thread */