diff --git a/ChangeLog b/ChangeLog index 11715e4e2d..273d21ad63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-09-22 Stefan Kost + + * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist), + (gst_controller_new_list): + Ref instances when returning them again (fixes #357180) + 2006-09-22 Tim-Philipp Müller * gst/gstghostpad.c: (gst_ghost_pad_set_target): diff --git a/libs/gst/controller/gstcontroller.c b/libs/gst/controller/gstcontroller.c index ade51c0530..fcb80e10a2 100644 --- a/libs/gst/controller/gstcontroller.c +++ b/libs/gst/controller/gstcontroller.c @@ -486,6 +486,7 @@ gst_controller_new_valist (GObject * object, va_list var_args) /* store the controller */ g_object_set_qdata (object, __gst_controller_key, self); } else { + g_object_ref (self); GST_INFO ("returning existing controller"); } self->properties = g_list_prepend (self->properties, prop); @@ -538,6 +539,7 @@ gst_controller_new_list (GObject * object, GList * list) /* store the controller */ g_object_set_qdata (object, __gst_controller_key, self); } else { + g_object_ref (self); GST_INFO ("returning existing controller"); } self->properties = g_list_prepend (self->properties, prop);