Skip to content

ges-timeline-element: Fix refcount bug in "timeline" and "parent" properties

ges-timeline-element property getter handler was using g_value_take_object() with internal pointers of the element as arguments, instead of g_value_set_object().

g_value_take_object() moves the ownership of the reference; hence, when reading "timeline" the reference ownership of timeline is moved away from the ges-timeline-element and into the GValue.

Since GValues are temporaries that are often discarded quickly after, this can easily lead to a double free. This was causing gst-editing-services / pythontests to crash when running TestTrackElements.test_ungroup_regroup() because of an innocent read of clip2.props.timeline around the end of the test.

Merge request reports