From 2a9e4d6a22b6756904b4afbf02d28fc841b9ab95 Mon Sep 17 00:00:00 2001 From: Klaus Ethgen Date: Sun, 6 Mar 2016 23:49:43 +0100 Subject: [PATCH] This potentially fixes most deprecated warnings However, I tested it with gtk 2.46.2 on debian that pretend to be version 2.24.29. So I still get that warnings. --- src/image-load.c | 21 +++++++++++++++++++++ src/main.c | 2 ++ 2 files changed, 23 insertions(+) diff --git a/src/image-load.c b/src/image-load.c index 1af4285e..0f4d977e 100644 --- a/src/image-load.c +++ b/src/image-load.c @@ -99,8 +99,15 @@ static void image_loader_init(GTypeInstance *instance, gpointer g_class) il->can_destroy = TRUE; #ifdef HAVE_GTHREAD +#if GTK_CHECK_VERSION(2,32,0) + il->data_mutex = g_new(GMutex, 1); + g_mutex_init(il->data_mutex); + il->can_destroy_cond = g_new(GCond, 1); + g_cond_init((il->can_destroy_cond); +#else il->data_mutex = g_mutex_new(); il->can_destroy_cond = g_cond_new(); +#endif #endif DEBUG_1("new image loader %p, bufsize=%" G_GSIZE_FORMAT " idle_loop=%u", il, il->read_buffer_size, il->idle_read_loop_count); } @@ -210,9 +217,16 @@ static void image_loader_finalize(GObject *object) file_data_unref(il->fd); #ifdef HAVE_GTHREAD +#if GTK_CHECK_VERSION(2,32,0) + g_mutex_clear(il->data_mutex); + g_free(il->data_mutex); + g_cond_clear(il->can_destroy_cond); + g_free(il->can_destroy_cond); +#else g_mutex_free(il->data_mutex); g_cond_free(il->can_destroy_cond); #endif +#endif } void image_loader_free(ImageLoader *il) @@ -1003,8 +1017,15 @@ static gboolean image_loader_start_thread(ImageLoader *il) if (!image_loader_thread_pool) { image_loader_thread_pool = g_thread_pool_new(image_loader_thread_run, NULL, -1, FALSE, NULL); +#if GTK_CHECK_VERSION(2,32,0) + if (!image_loader_prio_cond) image_loader_prio_cond = g_new(GCond, 1); + g_cond_init(image_loader_prio_cond); + if (!image_loader_prio_mutex) image_loader_prio_mutex = g_new(GMutex, 1); + g_mutex_init(image_loader_prio_mutex); +#else image_loader_prio_cond = g_cond_new(); image_loader_prio_mutex = g_mutex_new(); +#endif } il->can_destroy = FALSE; /* ImageLoader can't be freed until image_loader_thread_run finishes */ diff --git a/src/main.c b/src/main.c index c56ab57c..d5ba24f1 100644 --- a/src/main.c +++ b/src/main.c @@ -737,7 +737,9 @@ gint main(gint argc, gchar *argv[]) CollectionData *cd = NULL; #ifdef HAVE_GTHREAD +#if !GTK_CHECK_VERSION(2,32,0) g_thread_init(NULL); +#endif gdk_threads_init(); gdk_threads_enter(); -- 2.20.1