summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiří Techet <techet@gmail.com>2011-04-01 23:09:09 +0200
committerJiří Techet <techet@gmail.com>2011-04-03 11:41:21 +0200
commitfd4f7b865ea22d9916ffbda7854cf88e31108447 (patch)
tree5a5636caeb2cbfda6c0ad31e02c882930229a550
parent7b00274fad6f0c252f32c41564a856c6d179fd98 (diff)
downloadlibchamplain-fd4f7b865ea22d9916ffbda7854cf88e31108447.tar.gz
Prepend elements of the list instead of appending them in markers and paths
-rw-r--r--champlain/champlain-marker-layer.c8
-rw-r--r--champlain/champlain-path-layer.c13
2 files changed, 12 insertions, 9 deletions
diff --git a/champlain/champlain-marker-layer.c b/champlain/champlain-marker-layer.c
index c75bfa2..bb6f42f 100644
--- a/champlain/champlain-marker-layer.c
+++ b/champlain/champlain-marker-layer.c
@@ -512,8 +512,10 @@ GList *
champlain_marker_layer_get_markers (ChamplainMarkerLayer *layer)
{
ChamplainMarkerLayerPrivate *priv = layer->priv;
-
- return clutter_container_get_children (CLUTTER_CONTAINER (priv->content_group));
+ GList *lst;
+
+ lst = clutter_container_get_children (CLUTTER_CONTAINER (priv->content_group));
+ return g_list_reverse (lst);
}
@@ -544,7 +546,7 @@ champlain_marker_layer_get_selected (ChamplainMarkerLayer *layer)
ChamplainMarker *marker = CHAMPLAIN_MARKER (elem->data);
if (champlain_marker_get_selected (marker))
- selected = g_list_append (selected, marker);
+ selected = g_list_prepend (selected, marker);
}
g_list_free (markers);
diff --git a/champlain/champlain-path-layer.c b/champlain/champlain-path-layer.c
index d58870a..145ca46 100644
--- a/champlain/champlain-path-layer.c
+++ b/champlain/champlain-path-layer.c
@@ -511,7 +511,7 @@ position_notify (ChamplainLocation *location,
static void
add_node (ChamplainPathLayer *layer,
ChamplainLocation *location,
- gboolean append,
+ gboolean prepend,
guint position)
{
ChamplainPathLayerPrivate *priv = layer->priv;
@@ -521,8 +521,8 @@ add_node (ChamplainPathLayer *layer,
g_object_ref_sink (location);
- if (append)
- priv->nodes = g_list_append (priv->nodes, location);
+ if (prepend)
+ priv->nodes = g_list_prepend (priv->nodes, location);
else
priv->nodes = g_list_insert (priv->nodes, location, position);
schedule_redraw (layer);
@@ -595,9 +595,10 @@ champlain_path_layer_remove_all (ChamplainPathLayer *layer)
GList *
champlain_path_layer_get_nodes (ChamplainPathLayer *layer)
{
- ChamplainPathLayerPrivate *priv = layer->priv;
-
- return g_list_copy (priv->nodes);
+ GList *lst;
+
+ lst = g_list_copy (layer->priv->nodes);
+ return g_list_reverse (lst);
}