diff options
author | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2020-01-07 11:57:02 -0300 |
---|---|---|
committer | Robert Mader <robert.mader@posteo.de> | 2020-02-02 17:31:46 +0100 |
commit | d35d7fb6189de9a40a1fdd8f8c03da4aba3983a3 (patch) | |
tree | 04635457307b1b9803fe4158c1d07180a415ab96 /clutter | |
parent | 666bd25005511684ba44fab693ce44772730c372 (diff) | |
download | mutter-d35d7fb6189de9a40a1fdd8f8c03da4aba3983a3.tar.gz |
clutter/offscreen-effect: Use g_clear_pointer for cleanup
It does the exact same checks, and saves us a few lines of code.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/992
(cherry picked from commit 3958e75ed2a9afb5d32c59b017691e3ed2289ee2)
Diffstat (limited to 'clutter')
-rw-r--r-- | clutter/clutter/clutter-offscreen-effect.c | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/clutter/clutter/clutter-offscreen-effect.c b/clutter/clutter/clutter-offscreen-effect.c index cb554f44c..02d0f4c06 100644 --- a/clutter/clutter/clutter-offscreen-effect.c +++ b/clutter/clutter/clutter-offscreen-effect.c @@ -117,11 +117,7 @@ clutter_offscreen_effect_set_actor (ClutterActorMeta *meta, meta_class->set_actor (meta, actor); /* clear out the previous state */ - if (priv->offscreen != NULL) - { - cogl_handle_unref (priv->offscreen); - priv->offscreen = NULL; - } + g_clear_pointer (&priv->offscreen, cogl_object_unref); /* we keep a back pointer here, to avoid going through the ActorMeta */ priv->actor = clutter_actor_meta_get_actor (meta); @@ -197,17 +193,8 @@ update_fbo (ClutterEffect *effect, ensure_pipeline_filter_for_scale (self, resource_scale); } - if (priv->texture != NULL) - { - cogl_handle_unref (priv->texture); - priv->texture = NULL; - } - - if (priv->offscreen != NULL) - { - cogl_handle_unref (priv->offscreen); - priv->offscreen = NULL; - } + g_clear_pointer (&priv->texture, cogl_object_unref); + g_clear_pointer (&priv->offscreen, cogl_object_unref); priv->texture = clutter_offscreen_effect_create_texture (self, target_width, target_height); @@ -486,14 +473,9 @@ clutter_offscreen_effect_finalize (GObject *gobject) ClutterOffscreenEffect *self = CLUTTER_OFFSCREEN_EFFECT (gobject); ClutterOffscreenEffectPrivate *priv = self->priv; - if (priv->offscreen) - cogl_handle_unref (priv->offscreen); - - if (priv->target) - cogl_handle_unref (priv->target); - - if (priv->texture) - cogl_handle_unref (priv->texture); + g_clear_pointer (&priv->offscreen, cogl_object_unref); + g_clear_pointer (&priv->texture, cogl_object_unref); + g_clear_pointer (&priv->target, cogl_object_unref); G_OBJECT_CLASS (clutter_offscreen_effect_parent_class)->finalize (gobject); } |