This potentially fixes most deprecated warnings
[geeqie.git] / src / image-load.c
index 1af4285..0f4d977 100644 (file)
@@ -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 */