mirror of
https://github.com/brl/mutter.git
synced 2025-02-18 14:14:10 +00:00
2008-05-23 Emmanuele Bassi <ebassi@openedhand.com>
Bug #928 - Reparenting a child that itself is a container doesn't work * clutter/clutter-actor.c (clutter_actor_set_parent): Realize an actor when setting its parent, if the parent is realized. * clutter/clutter-group.c: (clutter_group_realize), (clutter_group_class_init): Add the missing implementation of the ::realize() virtual function; this makes sure that the children of a Group are realized if the Group is realized. (#928)
This commit is contained in:
parent
f9e43c440b
commit
5cc8687e7e
14
ChangeLog
14
ChangeLog
@ -1,3 +1,17 @@
|
|||||||
|
2008-05-23 Emmanuele Bassi <ebassi@openedhand.com>
|
||||||
|
|
||||||
|
Bug #928 - Reparenting a child that itself is a container
|
||||||
|
doesn't work
|
||||||
|
|
||||||
|
* clutter/clutter-actor.c (clutter_actor_set_parent): Realize
|
||||||
|
an actor when setting its parent, if the parent is realized.
|
||||||
|
|
||||||
|
* clutter/clutter-group.c:
|
||||||
|
(clutter_group_realize), (clutter_group_class_init): Add the
|
||||||
|
missing implementation of the ::realize() virtual function; this
|
||||||
|
makes sure that the children of a Group are realized if the Group
|
||||||
|
is realized. (#928)
|
||||||
|
|
||||||
2008-05-21 Neil Roberts <neil@o-hand.com>
|
2008-05-21 Neil Roberts <neil@o-hand.com>
|
||||||
|
|
||||||
* clutter/cogl/gl/cogl.c (error_string):
|
* clutter/cogl/gl/cogl.c (error_string):
|
||||||
|
@ -4205,13 +4205,12 @@ clutter_actor_set_parent (ClutterActor *self,
|
|||||||
self->priv->parent_actor = parent;
|
self->priv->parent_actor = parent;
|
||||||
g_signal_emit (self, actor_signals[PARENT_SET], 0, NULL);
|
g_signal_emit (self, actor_signals[PARENT_SET], 0, NULL);
|
||||||
|
|
||||||
if (self->priv->show_on_set_parent == TRUE)
|
|
||||||
clutter_actor_show (self);
|
|
||||||
|
|
||||||
/* FIXME: below likely not needed */
|
|
||||||
if (CLUTTER_ACTOR_IS_REALIZED (self->priv->parent_actor))
|
if (CLUTTER_ACTOR_IS_REALIZED (self->priv->parent_actor))
|
||||||
clutter_actor_realize (self);
|
clutter_actor_realize (self);
|
||||||
|
|
||||||
|
if (self->priv->show_on_set_parent)
|
||||||
|
clutter_actor_show (self);
|
||||||
|
|
||||||
if (CLUTTER_ACTOR_IS_VISIBLE (self->priv->parent_actor) &&
|
if (CLUTTER_ACTOR_IS_VISIBLE (self->priv->parent_actor) &&
|
||||||
CLUTTER_ACTOR_IS_VISIBLE (self))
|
CLUTTER_ACTOR_IS_VISIBLE (self))
|
||||||
{
|
{
|
||||||
|
@ -107,6 +107,14 @@ clutter_group_paint (ClutterActor *actor)
|
|||||||
CLUTTER_NOTE (PAINT, "ClutterGroup paint leave");
|
CLUTTER_NOTE (PAINT, "ClutterGroup paint leave");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
clutter_group_realize (ClutterActor *actor)
|
||||||
|
{
|
||||||
|
clutter_container_foreach (CLUTTER_CONTAINER (actor),
|
||||||
|
CLUTTER_CALLBACK (clutter_actor_realize),
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_group_unrealize (ClutterActor *actor)
|
clutter_group_unrealize (ClutterActor *actor)
|
||||||
{
|
{
|
||||||
@ -453,6 +461,7 @@ clutter_group_class_init (ClutterGroupClass *klass)
|
|||||||
actor_class->hide_all = clutter_group_real_hide_all;
|
actor_class->hide_all = clutter_group_real_hide_all;
|
||||||
actor_class->request_coords = clutter_group_request_coords;
|
actor_class->request_coords = clutter_group_request_coords;
|
||||||
actor_class->query_coords = clutter_group_query_coords;
|
actor_class->query_coords = clutter_group_query_coords;
|
||||||
|
actor_class->realize = clutter_group_realize;
|
||||||
actor_class->unrealize = clutter_group_unrealize;
|
actor_class->unrealize = clutter_group_unrealize;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user