From 0ced93c4edd5eaddb4b8717d6b62aef5994727a0 Mon Sep 17 00:00:00 2001 From: Brandon Lewis Date: Wed, 22 Sep 2010 12:32:47 +0100 Subject: [PATCH] GESSimpleTimelineLayer: override get_objects () virtual method --- ges/ges-simple-timeline-layer.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/ges/ges-simple-timeline-layer.c b/ges/ges-simple-timeline-layer.c index 31099b4..e5c9bda 100644 --- a/ges/ges-simple-timeline-layer.c +++ b/ges/ges-simple-timeline-layer.c @@ -52,6 +52,8 @@ static void timeline_object_height_changed_cb (GESTimelineObject * object G_GNUC_UNUSED, GParamSpec * arg G_GNUC_UNUSED, GESSimpleTimelineLayer * layer); +static GList *get_objects (GESTimelineLayer * layer); + G_DEFINE_TYPE (GESSimpleTimelineLayer, ges_simple_timeline_layer, GES_TYPE_TIMELINE_LAYER); @@ -122,6 +124,7 @@ ges_simple_timeline_layer_class_init (GESSimpleTimelineLayerClass * klass) /* Be informed when objects are being added/removed from elsewhere */ layer_class->object_removed = ges_simple_timeline_layer_object_removed; layer_class->object_added = ges_simple_timeline_layer_object_added; + layer_class->get_objects = get_objects; /** * GESSimpleTimelineLayer:valid: @@ -448,3 +451,19 @@ timeline_object_height_changed_cb (GESTimelineObject * object, GST_LOG ("layer %p: notify height changed %p", layer, object); gstl_recalculate (layer); } + +static GList * +get_objects (GESTimelineLayer * l) +{ + GList *ret; + GList *tmp; + GESSimpleTimelineLayer *layer = (GESSimpleTimelineLayer *) l; + + ret = g_list_copy (layer->objects); + + for (tmp = ret; tmp; tmp = tmp->next) { + g_object_ref (tmp->data); + } + + return ret; +} -- 2.7.4