fixed-layout: Remove the NO_LAYOUT flag set
authorEmmanuele Bassi <ebassi@linux.intel.com>
Fri, 27 Jan 2012 15:45:11 +0000 (15:45 +0000)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Fri, 27 Jan 2012 15:45:11 +0000 (15:45 +0000)
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.

clutter/clutter-fixed-layout.c

index 3bb890e..3eba559 100644 (file)
@@ -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
 clutter_fixed_layout_class_init (ClutterFixedLayoutClass *klass)
 {
@@ -193,7 +157,6 @@ clutter_fixed_layout_class_init (ClutterFixedLayoutClass *klass)
   manager_class->get_preferred_height =
     clutter_fixed_layout_get_preferred_height;
   manager_class->allocate = clutter_fixed_layout_allocate;
-  manager_class->set_container = clutter_fixed_layout_set_container;
 }
 
 static void