Added parent_unset signal to gstobject for completeness
authorWim Taymans <wim.taymans@gmail.com>
Wed, 24 Jul 2002 20:42:13 +0000 (20:42 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Wed, 24 Jul 2002 20:42:13 +0000 (20:42 +0000)
Original commit message from CVS:
Added parent_unset signal to gstobject for completeness

gst/gstobject.c
gst/gstobject.h

index cfbc5f3..8db6b53 100644 (file)
@@ -28,6 +28,7 @@
 /* Object signals and args */
 enum {
   PARENT_SET,
+  PARENT_UNSET,
 #ifndef GST_DISABLE_LOADSAVE_REGISTRY
   OBJECT_SAVED,
 #endif
@@ -118,6 +119,11 @@ gst_object_class_init (GstObjectClass *klass)
                   G_STRUCT_OFFSET (GstObjectClass, parent_set), NULL, NULL,
                   g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1,
                   G_TYPE_OBJECT);
+  gst_object_signals[PARENT_UNSET] =
+    g_signal_new ("parent_unset", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
+                  G_STRUCT_OFFSET (GstObjectClass, parent_unset), NULL, NULL,
+                  g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1,
+                  G_TYPE_OBJECT);
 #ifndef GST_DISABLE_LOADSAVE_REGISTRY
   gst_object_signals[OBJECT_SAVED] =
     g_signal_new ("object_saved", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
@@ -390,6 +396,8 @@ gst_object_unparent (GstObject *object)
 
   GST_DEBUG (GST_CAT_REFCOUNTING, "unparent '%s'",GST_OBJECT_NAME(object));
   
+  g_signal_emit (G_OBJECT (object), gst_object_signals[PARENT_UNSET], 0, object->parent);
+
   object->parent = NULL;
   gst_object_unref (object);
 }
index bd73e69..d372de5 100644 (file)
@@ -88,6 +88,7 @@ struct _GstObjectClass {
 
   /* signals */
   void         (*parent_set)           (GstObject *object, GstObject *parent);
+  void         (*parent_unset)         (GstObject *object, GstObject *parent);
 #ifndef GST_DISABLE_LOADSAVE_REGISTRY
   void         (*object_saved)         (GstObject *object, xmlNodePtr parent);
 #endif