miniobjects: Don't chain up to empty finalize method.
authorEdward Hervey <bilboed@bilboed.com>
Wed, 24 Jun 2009 08:45:52 +0000 (10:45 +0200)
committerEdward Hervey <bilboed@bilboed.com>
Wed, 24 Jun 2009 09:00:27 +0000 (11:00 +0200)
If ever we do anything in mini_object_finalize, we should make sure the 4
core miniobject finalize methods chain back up again.

gst/gstbuffer.c
gst/gstevent.c
gst/gstmessage.c
gst/gstminiobject.c
gst/gstquery.c

index 9adad9e..9919211 100644 (file)
@@ -165,8 +165,8 @@ gst_buffer_finalize (GstBuffer * buffer)
 
   gst_caps_replace (&GST_BUFFER_CAPS (buffer), NULL);
 
-  ((GstMiniObjectClass *)
-      gst_buffer_parent_class)->finalize (GST_MINI_OBJECT_CAST (buffer));
+/*   ((GstMiniObjectClass *) */
+/*       gst_buffer_parent_class)->finalize (GST_MINI_OBJECT_CAST (buffer)); */
 }
 
 /**
index ba208c1..fceb256 100644 (file)
@@ -231,7 +231,7 @@ gst_event_finalize (GstEvent * event)
     gst_structure_free (event->structure);
   }
 
-  GST_MINI_OBJECT_CLASS (parent_class)->finalize (GST_MINI_OBJECT (event));
+/*   GST_MINI_OBJECT_CLASS (parent_class)->finalize (GST_MINI_OBJECT (event)); */
 }
 
 static GstEvent *
index 10bac83..80fd0c2 100644 (file)
@@ -207,7 +207,7 @@ gst_message_finalize (GstMessage * message)
     gst_structure_free (message->structure);
   }
 
-  GST_MINI_OBJECT_CLASS (parent_class)->finalize (GST_MINI_OBJECT (message));
+/*   GST_MINI_OBJECT_CLASS (parent_class)->finalize (GST_MINI_OBJECT (message)); */
 }
 
 static GstMessage *
index 46526b7..2386dba 100644 (file)
@@ -159,6 +159,14 @@ static void
 gst_mini_object_finalize (GstMiniObject * obj)
 {
   /* do nothing */
+
+  /* WARNING: if anything is ever put in this method, make sure that the
+   * following sub-classes' finalize method chains up to this one:
+   * gstbuffer
+   * gstevent
+   * gstmessage
+   * gstquery
+   */
 }
 
 /**
index acbc661..fe771e6 100644 (file)
@@ -191,7 +191,7 @@ gst_query_finalize (GstQuery * query)
     gst_structure_free (query->structure);
   }
 
-  GST_MINI_OBJECT_CLASS (parent_class)->finalize (GST_MINI_OBJECT (query));
+/*   GST_MINI_OBJECT_CLASS (parent_class)->finalize (GST_MINI_OBJECT (query)); */
 }
 
 static GstQuery *