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:
parent
7ad6bd95f7
commit
ad2cb22785
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user