mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
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
1 changed files with 7 additions and 1 deletions
|
@ -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…
Reference in a new issue