summaryrefslogtreecommitdiff
path: root/recipes
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2009-06-05 15:11:41 +0200
committerKoen Kooi <koen@Powerbook-3.local>2009-06-05 17:48:15 +0200
commitd3c46636aeebc9afbd19ecb825935d73ad3fe921 (patch)
tree9ad57da1b441ca581fff860e5fe3d557a53fe723 /recipes
parent5ce1cbf8481d008001a7e83d12873bd3ebc756e2 (diff)
hornsey: fix build
Diffstat (limited to 'recipes')
-rw-r--r--recipes/moblin/hornsey/fix-api.patch2048
-rw-r--r--recipes/moblin/hornsey_git.bb9
2 files changed, 2055 insertions, 2 deletions
diff --git a/recipes/moblin/hornsey/fix-api.patch b/recipes/moblin/hornsey/fix-api.patch
new file mode 100644
index 0000000000..512f138b6d
--- /dev/null
+++ b/recipes/moblin/hornsey/fix-api.patch
@@ -0,0 +1,2048 @@
+From 0139503d38f9df51b4f911712afa9e100501a153 Mon Sep 17 00:00:00 2001
+From: Øyvind Kolås <pippin@linux.intel.com>
+Date: Fri, 05 Jun 2009 12:52:37 +0000
+Subject: Changes to accomodate API changes in clutter master.
+
+---
+diff --git a/data/hrn-item-quick-play.png b/data/hrn-item-quick-play.png
+index 13b57dd..bcd5dcc 100644
+--- a/data/hrn-item-quick-play.png
++++ b/data/hrn-item-quick-play.png
+Binary files differ
+diff --git a/data/hrn-item-zoom.png b/data/hrn-item-zoom.png
+index a5e8568..093bdd2 100644
+--- a/data/hrn-item-zoom.png
++++ b/data/hrn-item-zoom.png
+Binary files differ
+diff --git a/src/hornsey.c b/src/hornsey.c
+index 07ceab5..9d4972c 100644
+--- a/src/hornsey.c
++++ b/src/hornsey.c
+@@ -790,8 +790,8 @@ main (gint argc,
+ {
+ UniqueApp *app;
+ ClutterColor stage_bg = {HRN_STAGE_COLOR};
+- guint stage_width = 0;
+- guint stage_height = 0;
++ gfloat stage_width = 0;
++ gfloat stage_height = 0;
+ gboolean stage_fullscreen = TRUE;
+ gboolean no_disclaimer = TRUE; /* change this to FALSE
+ and the annoying disclaimer
+diff --git a/src/hrn-cluster.c b/src/hrn-cluster.c
+index ef3b89d..48e7230 100644
+--- a/src/hrn-cluster.c
++++ b/src/hrn-cluster.c
+@@ -62,12 +62,12 @@ static void ensure_labels (HrnCluster *cluster,
+ static void
+ hrn_cluster_allocate (ClutterActor *self,
+ const ClutterActorBox *box,
+- gboolean origin_changed)
++ ClutterAllocationFlags flags)
+ {
+ ClutterActorClass *parent_class;
+ parent_class = CLUTTER_ACTOR_CLASS (hrn_cluster_parent_class);
+
+- parent_class->allocate (self, box, origin_changed);
++ parent_class->allocate (self, box, flags);
+
+ if (hrn_switcher_get_state (HRN_SWITCHER (self))>0)
+ {
+@@ -85,17 +85,17 @@ hrn_cluster_allocate (ClutterActor *self,
+ }
+
+ if (CLUTTER_ACTOR(HRN_CLUSTER(self)->priv->frame))
+- clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->priv->frame), origin_changed);
++ clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->priv->frame), flags);
+ #if HRN_USE_NORMAL_LABELS
+ if (HRN_CLUSTER(self)->title)
+ {
+- clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->title), origin_changed);
+- clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->meta), origin_changed);
++ clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->title), flags);
++ clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->meta), flags);
+ }
+ if (HRN_CLUSTER(self)->title2)
+ {
+- clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->title2), origin_changed);
+- clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->meta2), origin_changed);
++ clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->title2), flags);
++ clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->meta2), flags);
+ }
+ #endif
+ }
+@@ -226,6 +226,46 @@ hrn_cluster_pick (ClutterActor *actor,
+ in_pick--;
+ }
+
++static void
++hrn_cluster_map (ClutterActor *self)
++{
++ HrnCluster *cluster = HRN_CLUSTER (self);
++ HrnClusterPrivate *priv = cluster->priv;
++
++ CLUTTER_ACTOR_CLASS (hrn_cluster_parent_class)->map (self);
++
++ if (cluster->title)
++ clutter_actor_map (CLUTTER_ACTOR (cluster->title));
++ if (cluster->meta)
++ clutter_actor_map (CLUTTER_ACTOR (cluster->meta));
++ if (cluster->title2)
++ clutter_actor_map (CLUTTER_ACTOR (cluster->title2));
++ if (cluster->meta2)
++ clutter_actor_map (CLUTTER_ACTOR (cluster->meta2));
++ if (priv->frame)
++ clutter_actor_map (priv->frame);
++}
++
++static void
++hrn_cluster_unmap (ClutterActor *self)
++{
++ HrnCluster *cluster = HRN_CLUSTER (self);
++ HrnClusterPrivate *priv = cluster->priv;
++
++ CLUTTER_ACTOR_CLASS (hrn_cluster_parent_class)->unmap (self);
++
++ if (cluster->title)
++ clutter_actor_unmap (CLUTTER_ACTOR (cluster->title));
++ if (cluster->meta)
++ clutter_actor_unmap (CLUTTER_ACTOR (cluster->meta));
++ if (cluster->title2)
++ clutter_actor_unmap (CLUTTER_ACTOR (cluster->title2));
++ if (cluster->meta2)
++ clutter_actor_unmap (CLUTTER_ACTOR (cluster->meta2));
++ if (priv->frame)
++ clutter_actor_unmap (priv->frame);
++}
++
+
+ static void
+ hrn_cluster_class_init (HrnClusterClass *klass)
+@@ -238,6 +278,8 @@ hrn_cluster_class_init (HrnClusterClass *klass)
+ actor_class->paint = hrn_cluster_paint;
+ actor_class->pick = hrn_cluster_pick;
+ actor_class->allocate = hrn_cluster_allocate;
++ actor_class->map = hrn_cluster_map;
++ actor_class->unmap = hrn_cluster_unmap;
+
+ g_type_class_add_private (gobject_class, sizeof (HrnClusterPrivate));
+ }
+@@ -528,7 +570,7 @@ static void cluster_set_frame (HrnCluster *cluster,
+ }
+ hrn_texture_frame_set_draw_middle (frame, TRUE); /* this should be set only
+ for the modes that need it */
+- clutter_actor_queue_redraw (frame);
++ clutter_actor_queue_redraw (CLUTTER_ACTOR (frame));
+ }
+
+
+@@ -555,7 +597,7 @@ hrn_cluster_constructor (GType type,
+ if (front_handle == 0)
+ {
+ front_handle = cogl_texture_new_from_file (PKGDATADIR "hrn-stack-front.png",
+- 63, COGL_TEXTURE_NONE,
++ COGL_TEXTURE_NONE,
+ COGL_PIXEL_FORMAT_ANY,
+ NULL);
+ front_material = cogl_material_new ();
+@@ -583,14 +625,14 @@ hrn_cluster_dispose (GObject *object)
+ #if HRN_USE_NORMAL_LABELS
+ HrnCluster *cluster = HRN_CLUSTER (object);
+ if (cluster->title)
+- g_object_unref (cluster->title);
++ clutter_actor_destroy (CLUTTER_ACTOR (cluster->title));
+ if (cluster->meta)
+- g_object_unref (cluster->meta);
++ clutter_actor_destroy (CLUTTER_ACTOR (cluster->meta));
+ cluster->title = cluster->meta = NULL;
+ if (cluster->title2)
+- g_object_unref (cluster->title2);
++ clutter_actor_destroy (CLUTTER_ACTOR (cluster->title2));
+ if (cluster->meta2)
+- g_object_unref (cluster->meta2);
++ clutter_actor_destroy (CLUTTER_ACTOR (cluster->meta2));
+ cluster->title2 = cluster->meta2 = NULL;
+ #endif
+ G_OBJECT_CLASS (hrn_cluster_parent_class)->dispose (object);
+@@ -1000,8 +1042,8 @@ static gboolean cluster_enter (ClutterActor *actor,
+ if (child)
+ {
+ clutter_actor_animate (child, CLUTTER_EASE_IN_OUT_QUINT, 800,
+- "x", (gint)(hoverdata[num][i][0]+0),
+- "y", (gint)(hoverdata[num][i][1]+0),
++ "x", (gdouble)(hoverdata[num][i][0]+0),
++ "y", (gdouble)(hoverdata[num][i][1]+0),
+ "scale-x", hoverdata[num][i][2],
+ "scale-y", hoverdata[num][i][2],
+ "rotation-angle-z", 0.0,
+@@ -1048,8 +1090,8 @@ static gboolean cluster_leave (ClutterActor *actor,
+ child = g_list_nth_data (children, num-1-i);
+
+ clutter_actor_animate (child, CLUTTER_EASE_IN_OUT_QUINT, 800,
+- "x", (gint)clustered_x (i),
+- "y", (gint)clustered_y (i),
++ "x", (gdouble)clustered_x (i),
++ "y", (gdouble)clustered_y (i),
+ "scale-x", clustered_scale (i),
+ "scale-y", clustered_scale (i),
+ "rotation-angle-z", clustered_rotation (i, accum),
+@@ -1311,7 +1353,6 @@ static void cluster_alone_to_grouped_adapt (HrnSwitcher *switcher,
+ if (child)
+ {
+ clutter_actor_set_position (child, LIN(0.0, clustered_x (i)), LIN(0, clustered_y (i)));
+- if(0)clutter_actor_set_depthu (child, CLUTTER_UNITS_FROM_FLOAT (LIN( clustered_depth(i) * 0.1, clustered_depth(i))));
+ clutter_actor_set_scale (child, LIN(1.0, clustered_scale(i)), LIN(1.0, clustered_scale(i)));
+
+ if (i>0)clutter_actor_set_opacity (child, LIN(0.0, 255.0));
+@@ -1422,7 +1463,7 @@ static void cluster_eightlim_to_eight_adapt (HrnSwitcher *switcher,
+ g_list_free (children);
+ }
+
+-static gint xs[MAX_CLUSTER_SIZE];
++static gfloat xs[MAX_CLUSTER_SIZE];
+ static gint ys[MAX_CLUSTER_SIZE];
+
+ static void cluster_eight_to_four_adapt (HrnSwitcher *switcher,
+diff --git a/src/hrn-drag-n-drop.c b/src/hrn-drag-n-drop.c
+index 835f041..861e7d0 100644
+--- a/src/hrn-drag-n-drop.c
++++ b/src/hrn-drag-n-drop.c
+@@ -112,8 +112,8 @@ static gboolean drag_capture (ClutterActor *stage,
+
+ if (rel_x * rel_x + rel_y * rel_y > 16 && !drag->in_drag)
+ {
+- gint x0, y0;
+- guint w, h;
++ gfloat x0, y0;
++ gfloat w, h;
+ drag->in_drag = TRUE;
+
+ drag->ghost = clutter_clone_new (drag->drag_data->actor);
+diff --git a/src/hrn-element.c b/src/hrn-element.c
+index fe4f964..3a7b7da 100644
+--- a/src/hrn-element.c
++++ b/src/hrn-element.c
+@@ -58,7 +58,7 @@ static void sync_size (ClutterActor *actor,
+ gpointer unused,
+ HrnSwitcher *switcher)
+ {
+- guint w,h;
++ gfloat w,h;
+ clutter_actor_get_size (actor, &w, &h);
+
+ if (DIM/(w*1.0) > DIM / (h*1.0))
+@@ -104,7 +104,7 @@ static ClutterActor *element_square (BklItem *item)
+ {
+ if (g_str_equal (orientation, "right - top"))
+ {
+- guint w,h;
++ gfloat w,h;
+ clutter_actor_set_rotation (actor, CLUTTER_Z_AXIS, 90, 0,0,0);
+ clutter_actor_set_anchor_point_from_gravity (actor, CLUTTER_GRAVITY_SOUTH_WEST);
+ ClutterActor *group = clutter_group_new ();
+@@ -183,7 +183,7 @@ static ClutterActor *element_thumb (HrnSwitcher *switcher,
+ {
+ if (g_str_equal (orientation, "right - top"))
+ {
+- guint w,h;
++ gfloat w,h;
+ clutter_actor_set_rotation (actor, CLUTTER_Z_AXIS, 90, 0,0,0);
+ clutter_actor_set_anchor_point_from_gravity (actor, CLUTTER_GRAVITY_SOUTH_WEST);
+ ClutterActor *group = clutter_group_new ();
+@@ -243,7 +243,7 @@ static ClutterActor *element_original (HrnSwitcher *switcher,
+ g_print ("%s %s %s\n", uri, path, path);
+ if (path)
+ {
+- guint w,h;
++ gfloat w,h;
+ actor = hrn_texture_load (path);
+ clutter_actor_get_size (actor, &w, &h);
+
+diff --git a/src/hrn-image-player.c b/src/hrn-image-player.c
+index d46f941..1f1253a 100644
+--- a/src/hrn-image-player.c
++++ b/src/hrn-image-player.c
+@@ -68,17 +68,17 @@ hrn_image_player_get_property (GObject *object,
+ static void
+ hrn_image_player_allocate (ClutterActor *actor,
+ const ClutterActorBox *box,
+- gboolean origin_changed)
++ ClutterAllocationFlags flags)
+ {
+ HrnImagePlayer *player = (HrnImagePlayer *) actor;
+ HrnImagePlayerPrivate *priv = player->priv;
+
+ CLUTTER_ACTOR_CLASS (hrn_image_player_parent_class)->allocate
+- (actor, box, origin_changed);
++ (actor, box, flags);
+
+ if (priv->image_player) {
+ clutter_actor_allocate_preferred_size (priv->image_player,
+- origin_changed);
++ flags);
+ }
+ }
+
+@@ -101,6 +101,29 @@ hrn_image_player_pick (ClutterActor *actor,
+ }
+
+ static void
++hrn_image_player_map (ClutterActor *self)
++{
++ HrnImagePlayerPrivate *priv = HRN_IMAGE_PLAYER (self)->priv;
++
++ CLUTTER_ACTOR_CLASS (hrn_image_player_parent_class)->map (self);
++
++ if (priv->image_player)
++ clutter_actor_map (CLUTTER_ACTOR (priv->image_player));
++}
++
++static void
++hrn_image_player_unmap (ClutterActor *self)
++{
++ HrnImagePlayerPrivate *priv = HRN_IMAGE_PLAYER (self)->priv;
++
++ CLUTTER_ACTOR_CLASS (hrn_image_player_parent_class)->unmap (self);
++
++ if (priv->image_player)
++ clutter_actor_unmap (CLUTTER_ACTOR (priv->image_player));
++}
++
++
++static void
+ hrn_image_player_class_init (HrnImagePlayerClass *klass)
+ {
+ GObjectClass *o_class = (GObjectClass *) klass;
+@@ -114,6 +137,8 @@ hrn_image_player_class_init (HrnImagePlayerClass *klass)
+ a_class->allocate = hrn_image_player_allocate;
+ a_class->paint = hrn_image_player_paint;
+ a_class->pick = hrn_image_player_pick;
++ a_class->map = hrn_image_player_map;
++ a_class->unmap = hrn_image_player_unmap;
+
+ g_type_class_add_private (klass, sizeof (HrnImagePlayerPrivate));
+ }
+@@ -161,7 +186,7 @@ player_set_uri (HrnIfacePlayer *player,
+ BklItem *item;
+ const char *orient;
+ char *filename;
+- guint w, h, sw, sh;
++ gfloat w, h, sw, sh;
+ double xs, ys, scale;
+ int x, y;
+
+diff --git a/src/hrn-item-image.c b/src/hrn-item-image.c
+index 2cf15e7..2b36973 100644
+--- a/src/hrn-item-image.c
++++ b/src/hrn-item-image.c
+@@ -120,6 +120,10 @@ HrnItemImage *hrn_item_image_create (BklItem *item,
+ hrn_switcher_add_state_full (self, NULL, -1, 0.25,
+ item_image_alone, item,
+ NULL, NULL);
++
++#if 1
++
++
+ #if HRN_ITEM_USE_FRAME
+
+ hrn_switcher_add_state_full (self, NULL, -1, 0.55, hrn_item_element_framed, item,
+@@ -140,5 +144,7 @@ HrnItemImage *hrn_item_image_create (BklItem *item,
+ item_image_alone, item,
+ NULL, NULL);
+
++#endif
++
+ return HRN_ITEM_IMAGE (self);
+ }
+diff --git a/src/hrn-item.c b/src/hrn-item.c
+index 255bb80..275b35a 100644
+--- a/src/hrn-item.c
++++ b/src/hrn-item.c
+@@ -104,12 +104,12 @@ hrn_item_dispose (GObject *object);
+ static void
+ hrn_item_allocate (ClutterActor *self,
+ const ClutterActorBox *box,
+- gboolean origin_changed)
++ ClutterAllocationFlags flags)
+ {
+ ClutterActorClass *parent_class;
+ parent_class = CLUTTER_ACTOR_CLASS (hrn_item_parent_class);
+
+- parent_class->allocate (self, box, origin_changed);
++ parent_class->allocate (self, box, flags);
+
+
+
+@@ -133,14 +133,14 @@ hrn_item_allocate (ClutterActor *self,
+
+ if (HRN_ITEM(self)->title)
+ {
+- clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->title), origin_changed);
+- clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->meta), origin_changed);
++ clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->title), flags);
++ clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->meta), flags);
+ }
+
+ if (HRN_ITEM(self)->title2)
+ {
+- clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->title2), origin_changed);
+- clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->meta2), origin_changed);
++ clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->title2), flags);
++ clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->meta2), flags);
+ }
+
+
+@@ -163,6 +163,7 @@ static void
+ hrn_item_paint (ClutterActor *actor)
+ {
+ ClutterActorClass *parent_class;
++ HrnItem *item = HRN_ITEM (actor);
+
+ parent_class = CLUTTER_ACTOR_CLASS (hrn_item_parent_class);
+
+@@ -182,19 +183,27 @@ hrn_item_paint (ClutterActor *actor)
+
+ if (hrn_switcher_get_state (HRN_SWITCHER (actor))>0)
+ {
++ if (!hrn_item_get_view (actor))
++ return;
+ switch (hrn_view_labels_visible (hrn_item_get_view (actor)))
+ {
+ case ZOOM_ITEMS_8:
+- clutter_actor_paint (CLUTTER_ACTOR (HRN_ITEM (actor)->title));
+- clutter_actor_paint (CLUTTER_ACTOR (HRN_ITEM (actor)->meta));
++ if (item->title)
++ clutter_actor_paint (CLUTTER_ACTOR (item->title));
++ if (item->meta)
++ clutter_actor_paint (CLUTTER_ACTOR (item->meta));
+ break;
+ case ZOOM_ITEMS_4:
+- clutter_actor_paint (CLUTTER_ACTOR (HRN_ITEM (actor)->title2));
+- clutter_actor_paint (CLUTTER_ACTOR (HRN_ITEM (actor)->meta2));
++ if (item->title2)
++ clutter_actor_paint (CLUTTER_ACTOR (item->title2));
++ if (item->meta2)
++ clutter_actor_paint (CLUTTER_ACTOR (item->meta2));
+ break;
+ case ZOOM_ITEMS_3:
+- clutter_actor_paint (CLUTTER_ACTOR (HRN_ITEM (actor)->title2));
+- clutter_actor_paint (CLUTTER_ACTOR (HRN_ITEM (actor)->meta2));
++ if (item->title2)
++ clutter_actor_paint (CLUTTER_ACTOR (item->title2));
++ if (item->meta2)
++ clutter_actor_paint (CLUTTER_ACTOR (item->meta2));
+ }
+ }
+ }
+@@ -216,6 +225,41 @@ static void hrn_item_get_property (GObject *gobject,
+ GValue *value,
+ GParamSpec *pspec);
+
++static void
++hrn_item_map (ClutterActor *self)
++{
++ HrnItem *item = HRN_ITEM (self);
++
++ CLUTTER_ACTOR_CLASS (hrn_item_parent_class)->map (self);
++
++ if (item->title)
++ clutter_actor_map (CLUTTER_ACTOR (item->title));
++ if (item->meta)
++ clutter_actor_map (CLUTTER_ACTOR (item->meta));
++ if (item->title2)
++ clutter_actor_map (CLUTTER_ACTOR (item->title2));
++ if (item->meta2)
++ clutter_actor_map (CLUTTER_ACTOR (item->meta2));
++}
++
++static void
++hrn_item_unmap (ClutterActor *self)
++{
++ HrnItem *item = HRN_ITEM (self);
++
++ CLUTTER_ACTOR_CLASS (hrn_item_parent_class)->unmap (self);
++
++ if (item->title)
++ clutter_actor_unmap (CLUTTER_ACTOR (item->title));
++ if (item->meta)
++ clutter_actor_unmap (CLUTTER_ACTOR (item->meta));
++ if (item->title2)
++ clutter_actor_unmap (CLUTTER_ACTOR (item->title2));
++ if (item->meta2)
++ clutter_actor_unmap (CLUTTER_ACTOR (item->meta2));
++}
++
++
+
+ static void
+ hrn_item_class_init (HrnItemClass *klass)
+@@ -228,6 +272,8 @@ hrn_item_class_init (HrnItemClass *klass)
+ gobject_class->constructor = hrn_item_constructor;
+ actor_class->paint = hrn_item_paint;
+ actor_class->pick = hrn_item_pick;
++ actor_class->map = hrn_item_map;
++ actor_class->unmap = hrn_item_unmap;
+ actor_class->allocate = hrn_item_allocate;
+ gobject_class->set_property = hrn_item_set_property;
+ gobject_class->get_property = hrn_item_get_property;
+@@ -386,15 +432,14 @@ hrn_item_dispose (GObject *object)
+ {
+ HrnItem *item = HRN_ITEM (object);
+ if (item->title)
+- g_object_unref (item->title);
++ clutter_actor_destroy (CLUTTER_ACTOR (item->title));
+ if (item->meta)
+- g_object_unref (item->meta);
+- item->title = item->meta = NULL;
++ clutter_actor_destroy (CLUTTER_ACTOR (item->meta));
+ if (item->title2)
+- g_object_unref (item->title2);
++ clutter_actor_destroy (CLUTTER_ACTOR (item->title2));
+ if (item->meta2)
+- g_object_unref (item->meta2);
+- item->title2 = item->meta2 = NULL;
++ clutter_actor_destroy (CLUTTER_ACTOR (item->meta2));
++ item->title = item->meta = item->title2 = item->meta2 = NULL;
+ }
+ #endif
+ G_OBJECT_CLASS (hrn_item_parent_class)->dispose (object);
+@@ -1020,7 +1065,7 @@ ClutterActor *hrn_item_element_framed (HrnSwitcher *switcher,
+ ClutterActor *group = clutter_group_new ();
+ ClutterActor *item_image;
+
+- gint x;
++ gfloat x;
+ gint y;
+
+
+@@ -1028,8 +1073,8 @@ ClutterActor *hrn_item_element_framed (HrnSwitcher *switcher,
+ priv->frame = clutter_rectangle_new ();
+ #else
+ priv->frame = hrn_texture_frame_new (frame_tex(), 35,35,35,35);
+- hrn_texture_frame_set_draw_middle (priv->frame, TRUE);
+- hrn_texture_frame_set_can_pinch (priv->frame, TRUE);
++ hrn_texture_frame_set_draw_middle (HRN_TEXTURE_FRAME (priv->frame), TRUE);
++ hrn_texture_frame_set_can_pinch (HRN_TEXTURE_FRAME (priv->frame), TRUE);
+ #endif
+
+ switch (state_no) /* squareness will depend on these states ... */
+diff --git a/src/hrn-item.h b/src/hrn-item.h
+index 2767630..5a73b3d 100644
+--- a/src/hrn-item.h
++++ b/src/hrn-item.h
+@@ -89,12 +89,6 @@ hrn_item_drop (ClutterActor *actor,
+
+ GType hrn_item_get_type (void) G_GNUC_CONST;
+
+-/* this is a factory method that creates a hrn item of the correct class */
+-HrnItem *hrn_item_create (BklItem *item);
+-
+-
+-
+-
+
+
+
+diff --git a/src/hrn-popup.c b/src/hrn-popup.c
+index 6e00d4e..9c1bd81 100644
+--- a/src/hrn-popup.c
++++ b/src/hrn-popup.c
+@@ -89,7 +89,7 @@ void hrn_popup_actor (gint x,
+ gint y,
+ ClutterActor *actor)
+ {
+- guint w2,h2;
++ gfloat w2,h2;
+ gint w,h;
+ ClutterActor *stage = clutter_stage_get_default ();
+
+@@ -172,7 +172,7 @@ void hrn_popup_actor_fixed (gint x,
+ gint y,
+ ClutterActor *actor)
+ {
+- guint w2,h2;
++ gfloat w2,h2;
+ gint w,h;
+ ClutterActor *stage = clutter_stage_get_default ();
+
+@@ -196,13 +196,13 @@ ClutterActor *hrn_popup_actions (gpointer *actions,
+ gint i;
+ gint max_width = 0;
+ ClutterActor *group = CLUTTER_ACTOR (g_object_new (NBTK_TYPE_GRID,
+- "width", 0,
++ "width", 0.0,
+ NULL));
+ nbtk_widget_set_style_class_name (NBTK_WIDGET (group), "HrnPopup");
+
+ for (i=0; actions[i]; i+=2)
+ {
+- guint w,h;
++ gfloat w,h;
+ ClutterActor *label;
+
+ label = CLUTTER_ACTOR (nbtk_button_new_with_label (gettext (actions[i])));
+@@ -240,13 +240,13 @@ ClutterActor *hrn_popup_actions_bolded (gpointer *actions,
+ gint i;
+ gint max_width = 0;
+ ClutterActor *group = CLUTTER_ACTOR (g_object_new (NBTK_TYPE_GRID,
+- "width", 0,
++ "width", 0.0,
+ NULL));
+ nbtk_widget_set_style_class_name (NBTK_WIDGET (group), "HrnPopup");
+
+ for (i=0; actions[i]; i+=2)
+ {
+- guint w,h;
++ gfloat w,h;
+ ClutterActor *label;
+
+ label = CLUTTER_ACTOR (nbtk_button_new_with_label (gettext (actions[i])));
+diff --git a/src/hrn-queue.c b/src/hrn-queue.c
+index 818b413..1d9c019 100644
+--- a/src/hrn-queue.c
++++ b/src/hrn-queue.c
+@@ -99,7 +99,7 @@ hrn_queue_dispose (GObject *object);
+ static void
+ hrn_queue_allocate (ClutterActor *self,
+ const ClutterActorBox *box,
+- gboolean origin_changed);
++ ClutterAllocationFlags flags);
+ static void hrn_queue_reposition (HrnQueue *queue);
+ static void
+ hrn_queue_paint (ClutterActor *actor);
+@@ -112,6 +112,28 @@ static void
+ hrn_queue_style_changed (NbtkWidget *widget);
+
+ static void
++hrn_queue_map (ClutterActor *self)
++{
++ HrnQueuePrivate *priv = HRN_QUEUE (self)->priv;
++
++ CLUTTER_ACTOR_CLASS (hrn_queue_parent_class)->map (self);
++
++ if (priv->toptable)
++ clutter_actor_map (CLUTTER_ACTOR (priv->toptable));
++}
++
++static void
++hrn_queue_unmap (ClutterActor *self)
++{
++ HrnQueuePrivate *priv = HRN_QUEUE (self)->priv;
++
++ CLUTTER_ACTOR_CLASS (hrn_queue_parent_class)->unmap (self);
++
++ if (priv->toptable)
++ clutter_actor_unmap (CLUTTER_ACTOR (priv->toptable));
++}
++
++static void
+ hrn_queue_class_init (HrnQueueClass *klass)
+ {
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+@@ -124,6 +146,8 @@ hrn_queue_class_init (HrnQueueClass *klass)
+ actor_class->allocate = hrn_queue_allocate;
+ actor_class->paint = hrn_queue_paint;
+ actor_class->pick = hrn_queue_pick;
++ actor_class->map = hrn_queue_map;
++ actor_class->unmap = hrn_queue_unmap;
+ widget_class->style_changed = hrn_queue_style_changed;
+
+ g_type_class_add_private (gobject_class, sizeof (HrnQueuePrivate));
+@@ -133,8 +157,8 @@ hrn_queue_class_init (HrnQueueClass *klass)
+ static void
+ hrn_queue_init (HrnQueue *self)
+ {
+- HrnQueuePrivate *priv = HRN_QUEUE_GET_PRIVATE (self);
+- memset (priv, 0, sizeof (priv));
++ self->priv = HRN_QUEUE_GET_PRIVATE (self);
++ memset (self->priv, 0, sizeof (self->priv));
+ }
+
+ static gboolean completed (ClutterAnimation *anim,
+@@ -151,14 +175,14 @@ static gboolean expanded_clicked_cb (NbtkButton *button,
+ if (nbtk_button_get_checked (button))
+ {
+ clutter_actor_animate (queue, CLUTTER_EASE_IN_OUT_CUBIC, 350,
+- "y", -300,
++ "y", -300.0,
+ NULL);
+ clutter_actor_show (CLUTTER_ACTOR (priv->scrollview));
+ }
+ else
+ {
+ clutter_actor_animate (queue, CLUTTER_EASE_IN_OUT_CUBIC, 350,
+- "y", 0,
++ "y", 0.0,
+ "signal::completed", completed, priv->scrollview,
+ NULL);
+ }
+@@ -617,15 +641,15 @@ NbtkAdjustment *hrn_queue_get_audio_adjustment (HrnQueue *queue)
+ static void
+ hrn_queue_allocate (ClutterActor *self,
+ const ClutterActorBox *box,
+- gboolean origin_changed)
++ ClutterAllocationFlags flags)
+ {
+ HrnQueuePrivate *priv = HRN_QUEUE_GET_PRIVATE (self);
+ ClutterActorClass *parent_class;
+
+ parent_class = CLUTTER_ACTOR_CLASS (hrn_queue_parent_class);
+
+- parent_class->allocate (self, box, origin_changed);
+- clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->toptable), origin_changed);
++ parent_class->allocate (self, box, flags);
++ clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->toptable), flags);
+ }
+
+ static void
+@@ -652,8 +676,8 @@ hrn_queue_pick (ClutterActor *actor,
+ const ClutterColor *color)
+ {
+ HrnQueuePrivate *priv = HRN_QUEUE_GET_PRIVATE (actor);
+- guint width;
+- guint height;
++ gfloat width;
++ gfloat height;
+ clutter_actor_get_size (CLUTTER_ACTOR (priv->toptable), &width, &height);
+
+ #if CLUTTER_MINOR_VERSION < 9
+@@ -897,17 +921,15 @@ hrn_item_can_drop (ClutterActor *actor,
+ priv = HRN_QUEUE_GET_PRIVATE (queue);
+
+ {
+- ClutterUnit xu, yu;
++ gfloat xu, yu;
+ gdouble foo;
+ NbtkScrollBar *scrollbar = NBTK_SCROLL_BAR (nbtk_scroll_view_get_vscroll_bar (NBTK_SCROLL_VIEW (priv->scrollview)));
+ foo = nbtk_adjustment_get_value (nbtk_scroll_bar_get_adjustment (scrollbar));
+
+- xu = CLUTTER_UNITS_FROM_INT (x);
+- yu = CLUTTER_UNITS_FROM_INT (y);
+ clutter_actor_transform_stage_point (CLUTTER_ACTOR (queue),
+- xu, yu, &xu, &yu);
++ x, y, &xu, &yu);
+
+- no=((CLUTTER_UNITS_TO_INT(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT - 1;
++ no=((floor(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT - 1;
+
+ if (no==-1)
+ return TRUE;
+@@ -952,17 +974,15 @@ hrn_item_drop (ClutterActor *actor,
+ priv = HRN_QUEUE_GET_PRIVATE (queue);
+
+ {
+- ClutterUnit xu, yu;
++ gfloat xu, yu;
+ gdouble foo;
+ NbtkScrollBar *scrollbar = NBTK_SCROLL_BAR (nbtk_scroll_view_get_vscroll_bar (NBTK_SCROLL_VIEW (priv->scrollview)));
+ foo = nbtk_adjustment_get_value (nbtk_scroll_bar_get_adjustment (scrollbar));
+
+- xu = CLUTTER_UNITS_FROM_INT (x);
+- yu = CLUTTER_UNITS_FROM_INT (y);
+ clutter_actor_transform_stage_point (CLUTTER_ACTOR (queue),
+- xu, yu, &xu, &yu);
++ x, y, &xu, &yu);
+
+- no=((CLUTTER_UNITS_TO_INT(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT-1;
++ no=((floor(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT-1;
+ if (yu < QUEUE_TIP_HEIGHT)
+ no = -1;
+ }
+@@ -1010,17 +1030,15 @@ gboolean hrn_cluster_dropped (ClutterActor *actor,
+ priv = HRN_QUEUE_GET_PRIVATE (queue);
+
+ {
+- ClutterUnit xu, yu;
++ gfloat xu, yu;
+ gdouble foo;
+ NbtkScrollBar *scrollbar = NBTK_SCROLL_BAR (nbtk_scroll_view_get_vscroll_bar (NBTK_SCROLL_VIEW (priv->scrollview)));
+ foo = nbtk_adjustment_get_value (nbtk_scroll_bar_get_adjustment (scrollbar));
+
+- xu = CLUTTER_UNITS_FROM_INT (x);
+- yu = CLUTTER_UNITS_FROM_INT (y);
+ clutter_actor_transform_stage_point (CLUTTER_ACTOR (queue),
+ xu, yu, &xu, &yu);
+
+- no=((CLUTTER_UNITS_TO_INT(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT-1;
++ no=((floor (yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT-1;
+ if (yu < QUEUE_TIP_HEIGHT)
+ no = -1;
+ }
+@@ -1067,15 +1085,13 @@ static gboolean from_queue_drop (ClutterActor *actor,
+ }
+
+ {
+- ClutterUnit xu, yu;
++ gfloat xu, yu;
+ gdouble foo;
+ NbtkScrollBar *scrollbar = NBTK_SCROLL_BAR (nbtk_scroll_view_get_vscroll_bar (NBTK_SCROLL_VIEW (priv->scrollview)));
+ foo = nbtk_adjustment_get_value (nbtk_scroll_bar_get_adjustment (scrollbar));
+
+- xu = CLUTTER_UNITS_FROM_INT (x);
+- yu = CLUTTER_UNITS_FROM_INT (y);
+ clutter_actor_transform_stage_point (CLUTTER_ACTOR (queue_item->queue),
+- xu, yu, &xu, &yu);
++ x, y, &xu, &yu);
+
+ no=0;
+ {
+@@ -1096,7 +1112,7 @@ static gboolean from_queue_drop (ClutterActor *actor,
+ g_object_ref (item);
+ hrn_queue_remove (queue_item->queue, no);
+
+- no=((CLUTTER_UNITS_TO_INT(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT-1;
++ no=((floor(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT-1;
+ if (yu < QUEUE_TIP_HEIGHT)
+ no = -1;
+
+@@ -1126,9 +1142,10 @@ static void hrn_queue_reposition (HrnQueue *queue)
+ QueueItem *item = iter->data;
+ if (CLUTTER_ACTOR_IS_VISIBLE (item->actor))
+ {
+- gint x = 7;
+- gint y = no * ROW_HEIGHT + ROW_OFFSET;
+-
++ gfloat x = 7;
++ gfloat y = no * ROW_HEIGHT + ROW_OFFSET;
++#if 0
++#endif
+ if (clutter_actor_get_x(item->actor)==0&&
+ clutter_actor_get_y(item->actor)==0)
+
+@@ -1163,7 +1180,7 @@ static void add_item (HrnQueue *queue, QueueItem *queue_item)
+ gchar *meta = hrn_item_get_meta (item);
+ NbtkWidget *text = nbtk_label_new (title);
+ NbtkWidget *meta_text = nbtk_label_new (meta);
+- guint w,h;
++ gfloat w,h;
+ gdouble scale;
+
+ nbtk_widget_set_style_class_name (text, "HrnQueueItemLabel");
+diff --git a/src/hrn-searchbar.c b/src/hrn-searchbar.c
+index fe2c60c..63ba06b 100644
+--- a/src/hrn-searchbar.c
++++ b/src/hrn-searchbar.c
+@@ -47,7 +47,7 @@ hrn_search_bar_dispose (GObject *object);
+ static void
+ hrn_searchbar_allocate (ClutterActor *self,
+ const ClutterActorBox *box,
+- gboolean origin_changed);
++ ClutterAllocationFlags flags);
+ static void
+ hrn_searchbar_paint (ClutterActor *actor);
+ static void
+@@ -55,7 +55,32 @@ hrn_searchbar_pick (ClutterActor *actor,
+ const ClutterColor *color);
+
+
++static void
++hrn_searchbar_map (ClutterActor *self)
++{
++ HrnSearchBarPrivate *priv = HRN_SEARCH_BAR (self)->priv;
++
++ CLUTTER_ACTOR_CLASS (hrn_search_bar_parent_class)->map (self);
++
++ if (priv->pin_button)
++ clutter_actor_map (priv->pin_button);
++ if (priv->clear_button)
++ clutter_actor_map (priv->clear_button);
++}
++
+
++static void
++hrn_searchbar_unmap (ClutterActor *self)
++{
++ HrnSearchBarPrivate *priv = HRN_SEARCH_BAR (self)->priv;
++
++ CLUTTER_ACTOR_CLASS (hrn_search_bar_parent_class)->unmap (self);
++
++ if (priv->pin_button)
++ clutter_actor_unmap (priv->pin_button);
++ if (priv->clear_button)
++ clutter_actor_unmap (priv->clear_button);
++}
+
+ static void
+ hrn_search_bar_style_changed (NbtkWidget *widget)
+@@ -78,6 +103,8 @@ hrn_search_bar_class_init (HrnSearchBarClass *klass)
+ gobject_class->constructor = hrn_search_bar_constructor;
+ actor_class->paint = hrn_searchbar_paint;
+ actor_class->pick = hrn_searchbar_pick;
++ actor_class->map = hrn_searchbar_map;
++ actor_class->unmap = hrn_searchbar_unmap;
+ actor_class->allocate = hrn_searchbar_allocate;
+ widget_class->style_changed = hrn_search_bar_style_changed;
+
+@@ -350,19 +377,19 @@ hrn_search_bar_dispose (GObject *object)
+ static void
+ hrn_searchbar_allocate (ClutterActor *self,
+ const ClutterActorBox *box,
+- gboolean origin_changed)
++ ClutterAllocationFlags flags)
+ {
+ HrnSearchBarPrivate *priv = HRN_SEARCH_BAR_GET_PRIVATE (self);
+
+- CLUTTER_ACTOR_CLASS (hrn_search_bar_parent_class)->allocate (self, box, origin_changed);
++ CLUTTER_ACTOR_CLASS (hrn_search_bar_parent_class)->allocate (self, box, flags);
+
+ clutter_actor_set_x (CLUTTER_ACTOR (priv->pin_button),
+ clutter_actor_get_width (self));
+ clutter_actor_set_x (CLUTTER_ACTOR (priv->clear_button),
+ clutter_actor_get_x (priv->pin_button)-
+ 20);
+- clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->pin_button), origin_changed);
+- clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->clear_button), origin_changed);
++ clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->pin_button), flags);
++ clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->clear_button), flags);
+ }
+
+ static void
+diff --git a/src/hrn-sidebar-subitem.c b/src/hrn-sidebar-subitem.c
+index 50e1554..3760baf 100644
+--- a/src/hrn-sidebar-subitem.c
++++ b/src/hrn-sidebar-subitem.c
+@@ -222,9 +222,9 @@ static void rename_cb (gpointer button)
+ ClutterColor shade_color = {0x0,0x0,0x0,0xff};
+ ClutterStage *stage = CLUTTER_STAGE (clutter_stage_get_default ());
+ ClutterActor *text;
+- guint sw, sh;
+- gint x, y;
+- guint w, h;
++ gfloat sw, sh;
++ gfloat x, y;
++ gfloat w, h;
+ gint i;
+
+ data = g_new0 (struct _rename_data, 1);
+diff --git a/src/hrn-sidebar.c b/src/hrn-sidebar.c
+index 8533d22..77fb1e5 100644
+--- a/src/hrn-sidebar.c
++++ b/src/hrn-sidebar.c
+@@ -58,13 +58,38 @@ hrn_sidebar_dispose (GObject *object);
+ static void
+ hrn_sidebar_allocate (ClutterActor *self,
+ const ClutterActorBox *box,
+- gboolean origin_changed);
++ ClutterAllocationFlags flags);
+ static void
+ hrn_sidebar_paint (ClutterActor *actor);
+ static void
+ hrn_sidebar_pick (ClutterActor *actor,
+ const ClutterColor *color);
+-
++
++static void
++hrn_sidebar_map (ClutterActor *self)
++{
++ HrnSidebarPrivate *priv = HRN_SIDEBAR (self)->priv;
++
++ CLUTTER_ACTOR_CLASS (hrn_sidebar_parent_class)->map (self);
++
++ if (priv->scroll)
++ clutter_actor_map (CLUTTER_ACTOR (priv->scroll));
++ if (priv->expanded)
++ clutter_actor_map (CLUTTER_ACTOR (priv->expanded));
++}
++
++static void
++hrn_sidebar_unmap (ClutterActor *self)
++{
++ HrnSidebarPrivate *priv = HRN_SIDEBAR (self)->priv;
++
++ CLUTTER_ACTOR_CLASS (hrn_sidebar_parent_class)->unmap (self);
++
++ if (priv->scroll)
++ clutter_actor_unmap (CLUTTER_ACTOR (priv->scroll));
++ if (priv->expanded)
++ clutter_actor_unmap (CLUTTER_ACTOR (priv->expanded));
++}
+
+
+ static void
+@@ -79,6 +104,8 @@ hrn_sidebar_class_init (HrnSidebarClass *klass)
+ actor_class->allocate = hrn_sidebar_allocate;
+ actor_class->paint = hrn_sidebar_paint;
+ actor_class->pick = hrn_sidebar_pick;
++ actor_class->map = hrn_sidebar_map;
++ actor_class->unmap = hrn_sidebar_unmap;
+
+ g_type_class_add_private (gobject_class, sizeof (HrnSidebarPrivate));
+
+@@ -209,7 +236,7 @@ void hrn_retrieve_query (const gchar *qname)
+
+ hrn_view_set_source (HRN_V