From: David S. <ds...@pd...> - 2004-01-03 01:24:19
|
CVS Root: /home/cvs/gstreamer Module: gstreamer Changes by: ds Date: Fri Jan 02 2004 17:25:13 PST Log message: Move padtemplate clearing from class_init to base_init Modified files: . : ChangeLog gst : gstelement.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/ChangeLog.diff?r1=1.68&r2=1.69 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/gstelement.c.diff?r1=1.230&r2=1.231 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /home/cvs/gstreamer/gstreamer/ChangeLog,v retrieving revision 1.68 retrieving revision 1.69 diff -u -d -r1.68 -r1.69 --- ChangeLog 2 Jan 2004 23:52:59 -0000 1.68 +++ ChangeLog 3 Jan 2004 01:25:01 -0000 1.69 @@ -1,3 +1,13 @@ +2004-01-02 David Schleef <ds...@sc...> + + * gst/gstelement.c: (gst_element_class_init), + (gst_element_base_class_init): ->padtemplates should be cleared + in base_init, since we need to have a fresh list for every + class. (Alternately, we chould copy the list and share the + actual pad templates (not the list), but that would require + changing every plugin to move pad template registration from + base_init to class_init.) + 2004-01-03 Ronald Bultje <rb...@ro...> * gst/gstelement.c: (gst_element_class_add_pad_template): Index: gstelement.c =================================================================== RCS file: /home/cvs/gstreamer/gstreamer/gst/gstelement.c,v retrieving revision 1.230 retrieving revision 1.231 diff -u -d -r1.230 -r1.231 --- gstelement.c 2 Jan 2004 23:52:59 -0000 1.230 +++ gstelement.c 3 Jan 2004 01:25:01 -0000 1.231 @@ -154,7 +154,6 @@ klass->change_state = GST_DEBUG_FUNCPTR (gst_element_change_state); klass->error = GST_DEBUG_FUNCPTR (gst_element_error_func); klass->found_tag = GST_DEBUG_FUNCPTR (gst_element_found_tag_func); - klass->padtemplates = NULL; klass->numpadtemplates = 0; klass->elementfactory = NULL; @@ -164,9 +163,13 @@ gst_element_base_class_init (gpointer g_class) { GObjectClass *gobject_class = G_OBJECT_CLASS (g_class); + GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); + gobject_class->set_property = GST_DEBUG_FUNCPTR(gst_element_real_set_property); gobject_class->get_property = GST_DEBUG_FUNCPTR(gst_element_real_get_property); + + element_class->padtemplates = NULL; } static void |