fix SIGBUS on opt, #145338
authorThomas Vander Stichele <thomas@apestaart.org>
Tue, 6 Jul 2004 11:44:26 +0000 (11:44 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Tue, 6 Jul 2004 11:44:26 +0000 (11:44 +0000)
Original commit message from CVS:
fix SIGBUS on opt, #145338

ChangeLog
gst/schedulers/gstoptimalscheduler.c

index 6221740..477f843 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,17 @@
 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
 
+       patch by: Joe Marcus Clarke <marcus at freebsd dot org>
+
+       * gst/schedulers/gstoptimalscheduler.c:
+       (gst_opt_scheduler_pad_unlink):
+         fix SIGBUS error, fixes #145338
+
+2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
+
        * gst/gstobject.c: (gst_object_replace):
        * gst/gstscheduler.c: (gst_scheduler_get_clock):
        * gst/gstsystemclock.c: (gst_system_clock_obtain):
-          clean up clock lifecycle.  Fixes #109831
+         clean up clock lifecycle.  Fixes #109831
 
 2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
 
 2004-06-10  Johan Dahlin  <johan@gnome.org>
 
        * gst/gst.c (gst_init_check_with_popt_table): Do not fail on
-       errors, like gtk. It makes it more useful in bindings.
+       errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
 
 2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
 
index 641d234..caeb88a 100644 (file)
@@ -2276,7 +2276,7 @@ gst_opt_scheduler_pad_unlink (GstScheduler * sched,
 
       GST_LOG ("elements still have links with other elements in the group");
 
-      while (group->elements)
+      while (group && group->elements)
         for (l = group->elements; l && l->data; l = l->next) {
           GstElement *element = (GstElement *) l->data;
 
@@ -2309,7 +2309,7 @@ gst_opt_scheduler_pad_unlink (GstScheduler * sched,
           }
 
           if (linkcount < 2) {
-            remove_from_group (group, element);
+            group = remove_from_group (group, element);
           }
           /* if linkcount == 2, it will be unlinked later on */
           else if (linkcount > 2) {