Don't use g_thread_init() anymore
[projects/chimara/chimara.git] / tests / plugin-loader.c
index 766305df5216a28a0d9eaf864ff1fcab4accbc17..296a58f658ce5f741fbc1e9a4bf4f8d7abc40f29 100644 (file)
@@ -17,7 +17,7 @@
  *    contributor may be used to endorse or promote products derived
  *    from this software without specific prior written permission.
  * 
- * main.c IS PROVIDED BY Philip en Marijn ``AS IS'' AND ANY EXPRESS
+ * plugin-loader.c IS PROVIDED BY Philip en Marijn ``AS IS'' AND ANY EXPRESS
  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  * ARE DISCLAIMED.  IN NO EVENT SHALL Philip en Marijn OR ANY OTHER CONTRIBUTORS
@@ -61,10 +61,22 @@ create_window(void)
     g_signal_connect(window, "delete-event", G_CALLBACK(quit), NULL);
        glk = chimara_glk_new();
        g_object_ref(glk);
-       g_signal_connect(glk, "stopped", G_CALLBACK(gtk_main_quit), NULL);
        gtk_container_add(GTK_CONTAINER(window), glk);
 }
 
+static gchar *
+resource_load(ChimaraResourceType usage, guint32 resnum)
+{
+       char *resstr;
+       if(usage == CHIMARA_RESOURCE_IMAGE)
+               resstr = "PIC";
+       else if(usage == CHIMARA_RESOURCE_SOUND)
+               resstr = "SND";
+       else
+               resstr = "FCK";
+       return g_strdup_printf("%s%d", resstr, resnum);
+}
+
 int
 main(int argc, char *argv[])
 {
@@ -76,8 +88,6 @@ main(int argc, char *argv[])
        textdomain(GETTEXT_PACKAGE);
 #endif
 
-       if( !g_thread_supported() )
-               g_thread_init(NULL);
        gdk_threads_init();
        gtk_init(&argc, &argv);
 
@@ -86,6 +96,8 @@ main(int argc, char *argv[])
 
        if(argc < 2)
                g_error("Must provide a plugin\n");
+
+       chimara_glk_set_resource_load_callback(CHIMARA_GLK(glk), (ChimaraResourceLoadFunc)resource_load, NULL, NULL);
        
     if( !chimara_glk_run(CHIMARA_GLK(glk), argv[1], argc - 1, argv + 1, &error) )
                g_error("Error starting Glk library: %s\n", error->message);