diff --git a/ChangeLog b/ChangeLog index b5f2a6832..8b7f714a4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-11-06 Emmanuele Bassi + + * clutter/clutter-label.c: Break the references in ::dispose, + and free the resources in ::finalize. + 2007-11-05 Øyvind Kolås * clutter/clutter-container.[ch]: removed find_child_by_id method diff --git a/clutter/clutter-label.c b/clutter/clutter-label.c index 36755e1b1..c93a55ed7 100644 --- a/clutter/clutter-label.c +++ b/clutter/clutter-label.c @@ -346,19 +346,7 @@ clutter_label_dispose (GObject *object) g_object_unref (priv->layout); priv->layout = NULL; } - - if (priv->desc) - { - pango_font_description_free (priv->desc); - priv->desc = NULL; - } - g_free (priv->text); - priv->text = NULL; - - g_free (priv->font_name); - priv->font_name = NULL; - if (priv->context) { g_object_unref (priv->context); @@ -371,6 +359,17 @@ clutter_label_dispose (GObject *object) static void clutter_label_finalize (GObject *object) { + ClutterLabel *self = CLUTTER_LABEL(object); + ClutterLabelPrivate *priv; + + priv = self->priv; + + if (priv->desc) + pango_font_description_free (priv->desc); + + g_free (priv->text); + g_free (priv->font_name); + G_OBJECT_CLASS (clutter_label_parent_class)->finalize (object); }