mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 17:40:40 -05:00
actor: Warn on adding/removing itself as a child
ClutterActor should warn if a user tries to add or remove an actor to, and from, itself on the scene graph. Clutter will likely crash, or warn way down the line, but if we can make debugging simpler then we should.
This commit is contained in:
parent
c1818efb18
commit
c6e40de500
@ -4198,6 +4198,13 @@ clutter_actor_remove_child_internal (ClutterActor *self,
|
|||||||
gboolean stop_transitions;
|
gboolean stop_transitions;
|
||||||
GObject *obj;
|
GObject *obj;
|
||||||
|
|
||||||
|
if (self == child)
|
||||||
|
{
|
||||||
|
g_warning ("Cannot remove actor '%s' from itself.",
|
||||||
|
_clutter_actor_get_debug_name (self));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
destroy_meta = (flags & REMOVE_CHILD_DESTROY_META) != 0;
|
destroy_meta = (flags & REMOVE_CHILD_DESTROY_META) != 0;
|
||||||
emit_parent_set = (flags & REMOVE_CHILD_EMIT_PARENT_SET) != 0;
|
emit_parent_set = (flags & REMOVE_CHILD_EMIT_PARENT_SET) != 0;
|
||||||
emit_actor_removed = (flags & REMOVE_CHILD_EMIT_ACTOR_REMOVED) != 0;
|
emit_actor_removed = (flags & REMOVE_CHILD_EMIT_ACTOR_REMOVED) != 0;
|
||||||
@ -12777,6 +12784,13 @@ clutter_actor_add_child_internal (ClutterActor *self,
|
|||||||
ClutterActor *old_first_child, *old_last_child;
|
ClutterActor *old_first_child, *old_last_child;
|
||||||
GObject *obj;
|
GObject *obj;
|
||||||
|
|
||||||
|
if (self == child)
|
||||||
|
{
|
||||||
|
g_warning ("Cannot add the actor '%s' to itself.",
|
||||||
|
_clutter_actor_get_debug_name (self));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (child->priv->parent != NULL)
|
if (child->priv->parent != NULL)
|
||||||
{
|
{
|
||||||
g_warning ("The actor '%s' already has a parent, '%s'. You must "
|
g_warning ("The actor '%s' already has a parent, '%s'. You must "
|
||||||
|
Loading…
Reference in New Issue
Block a user