aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2011-06-01 18:04:16 +0800
committerRodrigo Moya <rodrigo@gnome-db.org>2011-06-30 00:42:22 +0800
commit3be9f1c96ac20188b44c4e5c4f9dcf4804b523c6 (patch)
tree287a2883e24cced647c9fff4498c86c807be1e95 /mail
parent56314d75e2b30367b4679298d5976a69957f66be (diff)
downloadgsoc2013-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.
Diffstat (limited to 'mail')
-rw-r--r--mail/e-mail-store.c20
-rw-r--r--mail/mail-mt.c37
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