[clutter] actor: Clear MetaGroups when empty
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter] actor: Clear MetaGroups when empty
- Date: Thu, 12 Apr 2012 17:18:19 +0000 (UTC)
commit 98c9dad42f5881f9ae48217d0adafe4ba510ea5a
Author: Emmanuele Bassi <ebassi linux intel com>
Date: Thu Apr 12 17:04:57 2012 +0100
actor: Clear MetaGroups when empty
When removing the last Action, Constraint, or Effect, we should also be
clearing the corresponding MetaGroup: code inside ClutterActor relies on
NULL checks, and changing them all to check for NULL && n_items == 0
would not be fun.
clutter/clutter-actor.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c
index 2e93854..bb2ec11 100644
--- a/clutter/clutter-actor.c
+++ b/clutter/clutter-actor.c
@@ -3241,6 +3241,9 @@ _clutter_actor_remove_effect_internal (ClutterActor *self,
return;
_clutter_meta_group_remove_meta (priv->effects, CLUTTER_ACTOR_META (effect));
+
+ if (_clutter_meta_group_peek_metas (priv->effects) == NULL)
+ g_clear_object (&priv->effects);
}
static gboolean
@@ -14779,6 +14782,9 @@ clutter_actor_remove_action (ClutterActor *self,
_clutter_meta_group_remove_meta (priv->actions, CLUTTER_ACTOR_META (action));
+ if (_clutter_meta_group_peek_metas (priv->actions) == NULL)
+ g_clear_object (&priv->actions);
+
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_ACTIONS]);
}
@@ -14982,6 +14988,10 @@ clutter_actor_remove_constraint (ClutterActor *self,
_clutter_meta_group_remove_meta (priv->constraints,
CLUTTER_ACTOR_META (constraint));
+
+ if (_clutter_meta_group_peek_metas (priv->constraints) == NULL)
+ g_clear_object (&priv->constraints);
+
clutter_actor_queue_relayout (self);
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_CONSTRAINTS]);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]