gst/gstminiobject.c: Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit...
authorSebastian Dröge <slomo@circular-chaos.org>
Tue, 19 Feb 2008 05:49:32 +0000 (05:49 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Tue, 19 Feb 2008 05:49:32 +0000 (05:49 +0000)
Original commit message from CVS:
* gst/gstminiobject.c:
Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
friendly to subclasses and not require them to know all internals
of their parent class.

ChangeLog
gst/gstminiobject.c

index a2afa3a..f31b37a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
+
+       * gst/gstminiobject.c:
+         Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
+         friendly to subclasses and not require them to know all internals
+         of their parent class.
+
 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
 
        * docs/libs/gstreamer-libs-sections.txt:
index 7d19248..caee5f3 100644 (file)
@@ -187,6 +187,20 @@ gst_mini_object_new (GType type)
   return mini_object;
 }
 
+/* FIXME 0.11: Current way of doing the copy makes it impossible
+ * to currectly chain to the parent classes and do a copy in a
+ * subclass without knowing all internals of the parent classes.
+ *
+ * For 0.11 we should do something like the following:
+ *  - The GstMiniObjectClass::copy() implementation of GstMiniObject
+ *    should call g_type_create_instance() with the type of the source
+ *    object.
+ *  - All GstMiniObjectClass::copy() implementations should as first
+ *    thing chain up to the parent class and then do whatever they need
+ *    to do to copy their type specific data. Note that this way the
+ *    instance_init() functions are called!
+ */
+
 /**
  * gst_mini_object_copy:
  * @mini_object: the mini-object to copy