mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 01:45:33 +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,
|
g_signal_emit (container, ges_container_signals[CHILD_REMOVED_SIGNAL], 0,
|
||||||
child);
|
child);
|
||||||
} else {
|
} 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");
|
" removal happend during 'child-added' signal emission");
|
||||||
}
|
}
|
||||||
gst_object_unref (child);
|
gst_object_unref (child);
|
||||||
|
|
Loading…
Reference in a new issue