summaryrefslogtreecommitdiff
path: root/pango/pango-coverage.c
diff options
context:
space:
mode:
Diffstat (limited to 'pango/pango-coverage.c')
-rw-r--r--pango/pango-coverage.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/pango/pango-coverage.c b/pango/pango-coverage.c
index f22431b7..77559d0a 100644
--- a/pango/pango-coverage.c
+++ b/pango/pango-coverage.c
@@ -122,7 +122,7 @@ pango_coverage_ref (PangoCoverage *coverage)
{
g_return_val_if_fail (coverage != NULL, NULL);
- coverage->ref_count++;
+ g_atomic_int_inc (&coverage->ref_count);
return coverage;
}
@@ -142,9 +142,7 @@ pango_coverage_unref (PangoCoverage *coverage)
g_return_if_fail (coverage != NULL);
g_return_if_fail (coverage->ref_count > 0);
- coverage->ref_count--;
-
- if (coverage->ref_count == 0)
+ if (g_atomic_int_dec_and_test (&coverage->ref_count))
{
for (i=0; i<coverage->n_blocks; i++)
g_free (coverage->blocks[i].data);