diff options
author | infirit <[email protected]> | 2014-07-27 13:37:35 +0200 |
---|---|---|
committer | infirit <[email protected]> | 2014-07-27 21:16:30 +0200 |
commit | 2d979e654ebe948be627f6794ed2d1e5fe10efbb (patch) | |
tree | bb36d5a95264334e40985268f1d5e3f168127708 | |
parent | 31c430bc216d63c4dcf7aca9809f53ce3ef94efc (diff) | |
download | eom-2d979e654ebe948be627f6794ed2d1e5fe10efbb.tar.bz2 eom-2d979e654ebe948be627f6794ed2d1e5fe10efbb.tar.xz |
Revert "Don't use deprecated GLib threading API."
This reverts commit 13f1c75845c8a55a95d2c5426dbf343e3828bc78.
Has an unrelated change included so we need to split this.
-rw-r--r-- | src/eom-exif-util.c | 15 | ||||
-rw-r--r-- | src/eom-job-queue.c | 26 |
2 files changed, 25 insertions, 16 deletions
diff --git a/src/eom-exif-util.c b/src/eom-exif-util.c index c4074d6..7fa0e99 100644 --- a/src/eom-exif-util.c +++ b/src/eom-exif-util.c @@ -48,9 +48,6 @@ #define GPOINTER_TO_BOOLEAN(i) ((gboolean) ((GPOINTER_TO_INT (i) == 2) ? TRUE : FALSE)) #endif -/* Define EogExifData type */ -G_DEFINE_BOXED_TYPE(EomExifData, eom_exif_data, eom_exif_data_copy, eom_exif_data_free) - static gpointer _check_strptime_updates_wday (gpointer data) { @@ -229,3 +226,15 @@ eom_exif_data_free (EomExifData *data) { exif_data_unref (data); } + +GType +eom_exif_data_get_type (void) +{ + static GType our_type = 0; + + if (our_type == 0) + our_type = g_boxed_type_register_static ("EomExifData", + (GBoxedCopyFunc) eom_exif_data_copy, + (GBoxedFreeFunc) eom_exif_data_free); + return our_type; +} diff --git a/src/eom-job-queue.c b/src/eom-job-queue.c index 8452de5..007e0a3 100644 --- a/src/eom-job-queue.c +++ b/src/eom-job-queue.c @@ -25,8 +25,8 @@ #include "eom-jobs.h" #include "eom-job-queue.h" -static GCond render_cond; -static GMutex eom_queue_mutex; +static GCond *render_cond = NULL; +static GMutex *eom_queue_mutex = NULL; static GQueue *thumbnail_queue = NULL; static GQueue *load_queue = NULL; @@ -57,7 +57,7 @@ add_job_to_queue_locked (GQueue *queue, EomJob *job) { g_object_ref (job); g_queue_push_tail (queue, job); - g_cond_broadcast (&render_cond); + g_cond_broadcast (render_cond); } static gboolean @@ -131,15 +131,15 @@ eom_render_thread (gpointer data) while (TRUE) { EomJob *job; - g_mutex_lock (&eom_queue_mutex); + g_mutex_lock (eom_queue_mutex); if (no_jobs_available_unlocked ()) { - g_cond_wait (&render_cond, &eom_queue_mutex); + g_cond_wait (render_cond, eom_queue_mutex); } job = search_for_jobs_unlocked (); - g_mutex_unlock (&eom_queue_mutex); + g_mutex_unlock (eom_queue_mutex); /* Now that we have our job, we handle it */ if (job) { @@ -154,8 +154,8 @@ eom_render_thread (gpointer data) void eom_job_queue_init (void) { - g_cond_init (&render_cond); - g_mutex_init (&eom_queue_mutex); + render_cond = g_cond_new (); + eom_queue_mutex = g_mutex_new (); thumbnail_queue = g_queue_new (); load_queue = g_queue_new (); @@ -164,7 +164,7 @@ eom_job_queue_init (void) save_queue = g_queue_new (); copy_queue = g_queue_new (); - g_thread_new ("EomJobQueue", eom_render_thread, NULL); + g_thread_create (eom_render_thread, NULL, FALSE, NULL); } static GQueue * @@ -198,11 +198,11 @@ eom_job_queue_add_job (EomJob *job) queue = find_queue (job); - g_mutex_lock (&eom_queue_mutex); + g_mutex_lock (eom_queue_mutex); add_job_to_queue_locked (queue, job); - g_mutex_unlock (&eom_queue_mutex); + g_mutex_unlock (eom_queue_mutex); } gboolean @@ -212,7 +212,7 @@ eom_job_queue_remove_job (EomJob *job) g_return_val_if_fail (EOM_IS_JOB (job), FALSE); - g_mutex_lock (&eom_queue_mutex); + g_mutex_lock (eom_queue_mutex); if (EOM_IS_JOB_THUMBNAIL (job)) { retval = remove_job_from_queue (thumbnail_queue, job); @@ -230,7 +230,7 @@ eom_job_queue_remove_job (EomJob *job) g_assert_not_reached (); } - g_mutex_unlock (&eom_queue_mutex); + g_mutex_unlock (eom_queue_mutex); return retval; } |