X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fgraphics.c;h=ab06d8f6683fde919d14ab737777d4136fbc83c5;hb=1e0dc5378f314f555e3b923c6d95f5017abd528b;hp=543ad43563b147a6ecd5ed0f3e0e9cdbe3f443d0;hpb=dc9213af8972055ee54bdee4cced6103e1432010;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/graphics.c b/libchimara/graphics.c index 543ad43..ab06d8f 100644 --- a/libchimara/graphics.c +++ b/libchimara/graphics.c @@ -4,7 +4,7 @@ #define BUFFER_SIZE (1024) -extern GPrivate *glk_data_key; +extern GPrivate glk_data_key; void on_size_prepared(GdkPixbufLoader *loader, gint width, gint height, struct image_info *info); void on_pixbuf_closed(GdkPixbufLoader *loader, gpointer data); glui32 draw_image_common(winid_t win, GdkPixbuf *pixbuf, glsi32 val1, glsi32 val2); @@ -15,7 +15,7 @@ static gboolean size_determined; static struct image_info* load_image_from_blorb(giblorb_result_t resource, glui32 image, gint width, gint height) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); GError *pixbuf_error = NULL; guchar *buffer; @@ -56,11 +56,11 @@ load_image_from_blorb(giblorb_result_t resource, glui32 image, gint width, gint g_free(buffer); /* Wait for the PixbufLoader to finish loading the image */ - g_mutex_lock(glk_data->resource_lock); + g_mutex_lock(&glk_data->resource_lock); while(!image_loaded) { - g_cond_wait(glk_data->resource_loaded, glk_data->resource_lock); + g_cond_wait(&glk_data->resource_loaded, &glk_data->resource_lock); } - g_mutex_unlock(glk_data->resource_lock); + g_mutex_unlock(&glk_data->resource_lock); info->pixbuf = gdk_pixbuf_loader_get_pixbuf(loader); g_object_ref(info->pixbuf); @@ -97,7 +97,7 @@ load_image_from_file(const gchar *filename, glui32 image, gint width, gint heigh static struct image_info* load_image_in_cache(glui32 image, gint width, gint height) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); struct image_info *info = NULL; /* Lookup the proper resource */ @@ -146,14 +146,14 @@ load_image_in_cache(glui32 image, gint width, gint height) void on_size_prepared(GdkPixbufLoader *loader, gint width, gint height, struct image_info *info) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); - g_mutex_lock(glk_data->resource_lock); + g_mutex_lock(&glk_data->resource_lock); info->width = width; info->height = height; size_determined = TRUE; - g_cond_broadcast(glk_data->resource_info_available); - g_mutex_unlock(glk_data->resource_lock); + g_cond_broadcast(&glk_data->resource_info_available); + g_mutex_unlock(&glk_data->resource_lock); } void @@ -161,12 +161,12 @@ on_pixbuf_closed(GdkPixbufLoader *loader, gpointer data) { gdk_threads_enter(); - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); - g_mutex_lock(glk_data->resource_lock); + g_mutex_lock(&glk_data->resource_lock); image_loaded = TRUE; - g_cond_broadcast(glk_data->resource_loaded); - g_mutex_unlock(glk_data->resource_lock); + g_cond_broadcast(&glk_data->resource_loaded); + g_mutex_unlock(&glk_data->resource_lock); gdk_threads_leave(); } @@ -182,7 +182,7 @@ clear_image_cache(struct image_info *data, gpointer user_data) static struct image_info* image_cache_find(struct image_info* to_find) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); GSList *link = glk_data->image_cache; gdk_threads_enter(); @@ -351,7 +351,7 @@ glk_image_draw_scaled(winid_t win, glui32 image, glsi32 val1, glsi32 val2, glui3 VALID_WINDOW(win, return FALSE); g_return_val_if_fail(win->type == wintype_Graphics || win->type == wintype_TextBuffer, FALSE); - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); struct image_info *to_find = g_new0(struct image_info, 1); struct image_info *info; struct image_info *scaled_info;