#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);
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;
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);
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 */
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
{
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();
}
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();
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;