From d73b8fff36e44eda01761035ed229daf0b3d9268 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 24 Jul 2002 20:42:13 +0000 Subject: [PATCH] Added parent_unset signal to gstobject for completeness Original commit message from CVS: Added parent_unset signal to gstobject for completeness --- gst/gstobject.c | 8 ++++++++ gst/gstobject.h | 1 + 2 files changed, 9 insertions(+) diff --git a/gst/gstobject.c b/gst/gstobject.c index cfbc5f36b4..8db6b534ce 100644 --- a/gst/gstobject.c +++ b/gst/gstobject.c @@ -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); } diff --git a/gst/gstobject.h b/gst/gstobject.h index bd73e6913a..d372de5894 100644 --- a/gst/gstobject.h +++ b/gst/gstobject.h @@ -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