+2007-11-27 Emmanuele Bassi <ebassi@openedhand.com>
+
+ * clutter/clutter-actor.c (clutter_actor_destroy): Remove the
+ reference we hold on the actor, as it was preventing the finalization
+ of every child on the stage.
+
2007-11-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/x11/clutter-stage-x11.c:
{
ClutterActor *self = CLUTTER_ACTOR (object);
- CLUTTER_NOTE (MISC, "Disposing of object (id=%d) of type `%s'",
+ CLUTTER_NOTE (MISC, "Disposing of object (id=%d) of type `%s' (ref_count:%d)",
self->priv->id,
- g_type_name (G_OBJECT_TYPE (self)));
+ g_type_name (G_OBJECT_TYPE (self)),
+ object->ref_count);
if (!(CLUTTER_PRIVATE_FLAGS (self) & CLUTTER_ACTOR_IN_DESTRUCTION))
{
{
ClutterActor *actor = CLUTTER_ACTOR (object);
+ CLUTTER_NOTE (MISC, "Finalize object (id=%d) of type `%s'",
+ actor->priv->id,
+ g_type_name (G_OBJECT_TYPE (actor)));
+
g_free (actor->priv->name);
G_OBJECT_CLASS (clutter_actor_parent_class)->finalize (object);
if (!(CLUTTER_PRIVATE_FLAGS (self) & CLUTTER_ACTOR_IN_DESTRUCTION))
g_object_run_dispose (G_OBJECT (self));
+
+ g_object_unref (self);
}
/**