timeline: simplify code to remove an object from the pendingobjects list
authorRobert Swain <robert.swain@gmail.com>
Fri, 6 Jan 2012 12:16:09 +0000 (09:16 -0300)
committerThibault Saunier <thibault.saunier@collabora.com>
Fri, 6 Jan 2012 12:16:09 +0000 (09:16 -0300)
g_list_remove_all () can be used as a simplification as the private data to ges
timeline object are 1:1.

ges/ges-timeline.c

index c2659f6..c04185a 100644 (file)
@@ -648,20 +648,9 @@ layer_object_removed_cb (GESTimelineLayer * layer, GESTimelineObject * object,
    * it no longer needs to be discovered so remove it from the pendingobjects
    * list if it belongs to this layer */
   if (GES_IS_TIMELINE_FILE_SOURCE (object)) {
-    GList *pendingobjects;
-
     GES_TIMELINE_PENDINGOBJS_LOCK (timeline);
-    pendingobjects = timeline->priv->pendingobjects;
-
-    tmp = pendingobjects;
-    while (tmp) {
-      GList *next = tmp->next;
-
-      if (layer == (GESTimelineLayer *) ((GESTimelineObject *) tmp->data)->priv)
-        pendingobjects = g_list_delete_link (pendingobjects, tmp);
-      tmp = next;
-    }
-    timeline->priv->pendingobjects = pendingobjects;
+    timeline->priv->pendingobjects =
+        g_list_remove_all (timeline->priv->pendingobjects, object);
     GES_TIMELINE_PENDINGOBJS_UNLOCK (timeline);
   }