container: Let subclass know adding child was interrupted
When the `child-added` signal emission was called, the `GESContainer->child_added` vmethod was called (the signal is `G_SIGNAL_RUN_FIRST`) so we need to call `GESContainer->child_removed` ourself so subclasses know they do not control the child anymore.
This commit is contained in:
parent
eb8e429c80
commit
10590e25f0
@ -904,7 +904,13 @@ ges_container_remove (GESContainer * container, GESTimelineElement * child)
|
||||
g_signal_emit (container, ges_container_signals[CHILD_REMOVED_SIGNAL], 0,
|
||||
child);
|
||||
} else {
|
||||
GST_INFO_OBJECT (container, "Not emitting 'child-removed' signal as child"
|
||||
GESContainerClass *klass = GES_CONTAINER_GET_CLASS (container);
|
||||
|
||||
if (klass->child_removed)
|
||||
klass->child_removed (container, child);
|
||||
|
||||
GST_INFO_OBJECT (container,
|
||||
"Not emitting 'child-removed' signal as child"
|
||||
" removal happend during 'child-added' signal emission");
|
||||
}
|
||||
gst_object_unref (child);
|
||||
|
Loading…
x
Reference in New Issue
Block a user