diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2011-06-01 18:04:16 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@gnome-db.org> | 2011-06-30 00:42:22 +0800 |
commit | 3be9f1c96ac20188b44c4e5c4f9dcf4804b523c6 (patch) | |
tree | 287a2883e24cced647c9fff4498c86c807be1e95 | |
parent | 56314d75e2b30367b4679298d5976a69957f66be (diff) | |
download | gsoc2013-evolution-3be9f1c96ac20188b44c4e5c4f9dcf4804b523c6.tar gsoc2013-evolution-3be9f1c96ac20188b44c4e5c4f9dcf4804b523c6.tar.gz gsoc2013-evolution-3be9f1c96ac20188b44c4e5c4f9dcf4804b523c6.tar.bz2 gsoc2013-evolution-3be9f1c96ac20188b44c4e5c4f9dcf4804b523c6.tar.lz gsoc2013-evolution-3be9f1c96ac20188b44c4e5c4f9dcf4804b523c6.tar.xz gsoc2013-evolution-3be9f1c96ac20188b44c4e5c4f9dcf4804b523c6.tar.zst gsoc2013-evolution-3be9f1c96ac20188b44c4e5c4f9dcf4804b523c6.zip |
Fix build breaks.
-rw-r--r-- | mail/e-mail-store.c | 20 | ||||
-rw-r--r-- | mail/mail-mt.c | 37 |
2 files changed, 29 insertions, 28 deletions
diff --git a/mail/e-mail-store.c b/mail/e-mail-store.c index 1aef04acf9..948683d5e4 100644 --- a/mail/e-mail-store.c +++ b/mail/e-mail-store.c @@ -104,7 +104,7 @@ store_info_ref (StoreInfo *store_info) g_return_val_if_fail (store_info != NULL, store_info); g_return_val_if_fail (store_info->ref_count > 0, store_info); - g_atomic_int_add (&store_info->ref_count, 1); + g_atomic_int_inc (&store_info->ref_count); return store_info; } @@ -115,19 +115,19 @@ store_info_unref (StoreInfo *store_info) g_return_if_fail (store_info != NULL); g_return_if_fail (store_info->ref_count > 0); - if (g_atomic_int_add (&store_info->ref_count, -1) > 1) - return; + if (g_atomic_int_dec_and_test (&store_info->ref_count)) { - g_object_unref (store_info->store); - g_free (store_info->display_name); + g_object_unref (store_info->store); + g_free (store_info->display_name); - if (store_info->vtrash != NULL) - g_object_unref (store_info->vtrash); + if (store_info->vtrash != NULL) + g_object_unref (store_info->vtrash); - if (store_info->vjunk != NULL) - g_object_unref (store_info->vjunk); + if (store_info->vjunk != NULL) + g_object_unref (store_info->vjunk); - g_slice_free (StoreInfo, store_info); + g_slice_free (StoreInfo, store_info); + } } static void diff --git a/mail/mail-mt.c b/mail/mail-mt.c index 5ef8a0147e..724498c359 100644 --- a/mail/mail-mt.c +++ b/mail/mail-mt.c @@ -153,7 +153,8 @@ mail_msg_ref (gpointer msg) g_return_val_if_fail (mail_msg != NULL, msg); g_return_val_if_fail (mail_msg->ref_count > 0, msg); - g_atomic_int_add (&mail_msg->ref_count, 1); + g_atomic_int_inc (&mail_msg->ref_count); + return msg; } @@ -165,31 +166,31 @@ mail_msg_unref (gpointer msg) g_return_if_fail (mail_msg != NULL); g_return_if_fail (mail_msg->ref_count > 0); - if (g_atomic_int_add (&mail_msg->ref_count, -1) > 1) - return; + if (g_atomic_int_dec_and_test (&mail_msg->ref_count)) { #ifdef MALLOC_CHECK - checkmem (mail_msg); - checkmem (mail_msg->cancel); - checkmem (mail_msg->priv); + checkmem (mail_msg); + checkmem (mail_msg->cancel); + checkmem (mail_msg->priv); #endif - d(printf("Free message %p\n", msg)); + d(printf("Free message %p\n", msg)); - if (mail_msg->info->free) - mail_msg->info->free (mail_msg); + if (mail_msg->info->free) + mail_msg->info->free (mail_msg); - g_mutex_lock (mail_msg_lock); + g_mutex_lock (mail_msg_lock); - g_hash_table_remove ( - mail_msg_active_table, - GINT_TO_POINTER (mail_msg->seq)); - g_cond_broadcast (mail_msg_cond); + g_hash_table_remove ( + mail_msg_active_table, + GINT_TO_POINTER (mail_msg->seq)); + g_cond_broadcast (mail_msg_cond); - g_mutex_unlock (mail_msg_lock); + g_mutex_unlock (mail_msg_lock); - /* Destroy the message from an idle callback - * so we know we're in the main loop thread. */ - g_idle_add ((GSourceFunc) mail_msg_free, mail_msg); + /* Destroy the message from an idle callback + * so we know we're in the main loop thread. */ + g_idle_add ((GSourceFunc) mail_msg_free, mail_msg); + } } void |