diff options
author | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2005-01-25 12:17:15 +0000 |
---|---|---|
committer | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2005-01-25 12:17:15 +0000 |
commit | 3a3a26e7f0b39cdec455159b12bc7232d034ece4 (patch) | |
tree | 5ef6502df4b5277ba0b6bd7ef771b30d20325409 | |
parent | 936a11849b8b8186945ec4219c8f354a873cdf5c (diff) |
gst/effectv/gstquark.c: Memory free'ing location fix (#164708).
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/effectv/gstquark.c: (gst_quarktv_class_init),
(gst_quarktv_change_state), (gst_quarktv_dispose):
Memory free'ing location fix (#164708).
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | gst/effectv/gstquark.c | 21 |
2 files changed, 27 insertions, 2 deletions
@@ -1,3 +1,11 @@ +2005-01-25 Edward Hervey <bilboed@bilboed.com> + + Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net> + + * gst/effectv/gstquark.c: (gst_quarktv_class_init), + (gst_quarktv_change_state), (gst_quarktv_dispose): + Memory free'ing location fix (#164708). + 2005-01-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net> * gst/playback/gstplaybasebin.c: (group_commit), diff --git a/gst/effectv/gstquark.c b/gst/effectv/gstquark.c index 23cfc601..76d53a09 100644 --- a/gst/effectv/gstquark.c +++ b/gst/effectv/gstquark.c @@ -94,6 +94,7 @@ static void gst_quarktv_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); static void gst_quarktv_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec); +static void gst_quarktv_dispose (GObject * object); static void gst_quarktv_chain (GstPad * pad, GstData * _data); @@ -164,6 +165,7 @@ gst_quarktv_class_init (GstQuarkTVClass * klass) gobject_class->set_property = gst_quarktv_set_property; gobject_class->get_property = gst_quarktv_get_property; + gobject_class->dispose = gst_quarktv_dispose; gstelement_class->change_state = gst_quarktv_change_state; } @@ -287,8 +289,6 @@ gst_quarktv_change_state (GstElement * element) gst_buffer_unref (filter->planetable[i]); filter->planetable[i] = NULL; } - g_free (filter->planetable); - filter->planetable = NULL; break; } default: @@ -362,3 +362,20 @@ gst_quarktv_get_property (GObject * object, guint prop_id, GValue * value, break; } } + +static void +gst_quarktv_dispose (GObject * object) +{ + GstQuarkTV *filter = GST_QUARKTV (object); + gint i; + + for (i = 0; i < filter->planes; i++) { + if (filter->planetable[i]) + gst_buffer_unref (filter->planetable[i]); + filter->planetable[i] = NULL; + } + g_free (filter->planetable); + filter->planetable = NULL; + + G_OBJECT_CLASS (parent_class)->dispose (object); +} |