Remove dangerous explicit destroy

There's no need to explicitly destroy the ClutterText actor inside the
label; doing so is actually harmful, as it will break the normal
reference cycle between container and children.
As StLabel doesn't hold any extra reference to the ClutterText actor and
just uses clutter_actor_add_actor() to add it to itself, let the normal
container dispose cycle run to dispose of the reference.

https://bugzilla.gnome.org/show_bug.cgi?id=783483
This commit is contained in:
Cosimo Cecchi 2013-06-05 13:54:09 -07:00 committed by Cosimo Cecchi
parent 7ad6bd95f7
commit ad2cb22785

View File

@ -180,12 +180,6 @@ st_label_dispose (GObject *object)
{ {
StLabelPrivate *priv = ST_LABEL (object)->priv; StLabelPrivate *priv = ST_LABEL (object)->priv;
if (priv->label)
{
clutter_actor_destroy (priv->label);
priv->label = NULL;
}
g_clear_pointer (&priv->text_shadow_pipeline, cogl_object_unref); g_clear_pointer (&priv->text_shadow_pipeline, cogl_object_unref);
G_OBJECT_CLASS (st_label_parent_class)->dispose (object); G_OBJECT_CLASS (st_label_parent_class)->dispose (object);