diff options
author | Timm Bäder <mail@baedert.org> | 2020-12-18 10:10:56 +0100 |
---|---|---|
committer | Timm Bäder <mail@baedert.org> | 2020-12-21 10:26:02 +0100 |
commit | bd5d1615ac53fb2339147cc99c26f6da5613538c (patch) | |
tree | d6779259741a78a3493f73d3140cef437b0b41ce /gsk/gsktransform.c | |
parent | 21299cc7e44a3b7f1425f683c7c66c5a796bbbb4 (diff) | |
download | gtk+-bd5d1615ac53fb2339147cc99c26f6da5613538c.tar.gz |
GskTransform: Avoid a ref+unref pair
If gsk_transform_is_identity() returned FALSE for the next transform,
the previous code did a ref + unref pair, even though it was unneeded.
Diffstat (limited to 'gsk/gsktransform.c')
-rw-r--r-- | gsk/gsktransform.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gsk/gsktransform.c b/gsk/gsktransform.c index adc64ccc30..3f1e89ad43 100644 --- a/gsk/gsktransform.c +++ b/gsk/gsktransform.c @@ -127,8 +127,10 @@ gsk_transform_alloc (const GskTransformClass *transform_class, self->transform_class = transform_class; self->category = next ? MIN (category, next->category) : category; - self->next = gsk_transform_is_identity (next) ? NULL : gsk_transform_ref (next); - g_clear_pointer (&next, gsk_transform_unref); + if (gsk_transform_is_identity (next)) + gsk_transform_unref (next); + else + self->next = next; return self; } |