fixed-layout: Remove the NO_LAYOUT flag set
ClutterFixedLayout is the default layout manager for ClutterActor. Existing subclasses of ClutterActor will get a fixed layout manager regardless of whether they are going to use it, but since it sets the CLUTTER_ACTOR_NO_LAYOUT flag, it will introduce regressions on actors that perform their own layout management. The CLUTTER_ACTOR_NO_LAYOUT flag was a bit of a mistake in the first place, as it was introduced as a last minute workaround in the 1.0 process to deal with broken stuff in Moblin. It's going to be a target for deprecation towards a removal when we start the 2.0 process.
This commit is contained in:
parent
4360fcccf4
commit
31341986b1
@ -146,42 +146,6 @@ clutter_fixed_layout_allocate (ClutterLayoutManager *manager,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
clutter_fixed_layout_set_container (ClutterLayoutManager *manager,
|
|
||||||
ClutterContainer *container)
|
|
||||||
{
|
|
||||||
ClutterLayoutManagerClass *parent_class;
|
|
||||||
GObject *obj = G_OBJECT (manager);
|
|
||||||
|
|
||||||
if (container != NULL)
|
|
||||||
{
|
|
||||||
g_object_set_data (obj,
|
|
||||||
"-clutter-fixed-layout-container",
|
|
||||||
container);
|
|
||||||
|
|
||||||
/* signal Clutter that we don't impose any layout on
|
|
||||||
* our children, so we can shave off some relayout
|
|
||||||
* operations
|
|
||||||
*/
|
|
||||||
CLUTTER_ACTOR_SET_FLAGS (container, CLUTTER_ACTOR_NO_LAYOUT);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
gpointer old_container;
|
|
||||||
|
|
||||||
old_container =
|
|
||||||
g_object_get_data (obj, "-clutter-fixed-layout-container");
|
|
||||||
|
|
||||||
if (old_container != NULL)
|
|
||||||
CLUTTER_ACTOR_UNSET_FLAGS (old_container, CLUTTER_ACTOR_NO_LAYOUT);
|
|
||||||
|
|
||||||
g_object_set_data (obj, "-clutter-fixed-layout-container", NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
parent_class = CLUTTER_LAYOUT_MANAGER_CLASS (clutter_fixed_layout_parent_class);
|
|
||||||
parent_class->set_container (manager, container);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_fixed_layout_class_init (ClutterFixedLayoutClass *klass)
|
clutter_fixed_layout_class_init (ClutterFixedLayoutClass *klass)
|
||||||
{
|
{
|
||||||
@ -193,7 +157,6 @@ clutter_fixed_layout_class_init (ClutterFixedLayoutClass *klass)
|
|||||||
manager_class->get_preferred_height =
|
manager_class->get_preferred_height =
|
||||||
clutter_fixed_layout_get_preferred_height;
|
clutter_fixed_layout_get_preferred_height;
|
||||||
manager_class->allocate = clutter_fixed_layout_allocate;
|
manager_class->allocate = clutter_fixed_layout_allocate;
|
||||||
manager_class->set_container = clutter_fixed_layout_set_container;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user