summaryrefslogtreecommitdiff
path: root/clutter
diff options
context:
space:
mode:
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2020-01-07 11:57:02 -0300
committerRobert Mader <robert.mader@posteo.de>2020-02-02 17:31:46 +0100
commitd35d7fb6189de9a40a1fdd8f8c03da4aba3983a3 (patch)
tree04635457307b1b9803fe4158c1d07180a415ab96 /clutter
parent666bd25005511684ba44fab693ce44772730c372 (diff)
downloadmutter-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.c30
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);
}