interval: Do not leak the result GValue

The compute() method will cache the result, to avoid multiple
allocations and copies; this means, though, that we need to unset the
GValue when destroying the Interval.
This commit is contained in:
Emmanuele Bassi 2012-06-18 17:54:06 +01:00
parent cfc4e86b31
commit bebe90e565

View File

@ -399,8 +399,14 @@ clutter_interval_finalize (GObject *gobject)
{ {
ClutterIntervalPrivate *priv = CLUTTER_INTERVAL (gobject)->priv; ClutterIntervalPrivate *priv = CLUTTER_INTERVAL (gobject)->priv;
g_value_unset (&priv->values[0]); if (G_IS_VALUE (&priv->values[INITIAL]))
g_value_unset (&priv->values[1]); g_value_unset (&priv->values[INITIAL]);
if (G_IS_VALUE (&priv->values[FINAL]))
g_value_unset (&priv->values[FINAL]);
if (G_IS_VALUE (&priv->values[RESULT]))
g_value_unset (&priv->values[RESULT]);
g_free (priv->values); g_free (priv->values);