[gnome-maps/wip/jonasdn/vector-tiles] Proper memory management
- From: Jonas Danielsson <jonasdn src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-maps/wip/jonasdn/vector-tiles] Proper memory management
- Date: Sun, 26 Apr 2015 08:23:11 +0000 (UTC)
commit ae0d6801617270cc44ef63a1ff68b54c26693b64
Author: Jonas Danielsson <jonas threetimestwo org>
Date: Sun Apr 26 09:58:48 2015 +0200
Proper memory management
lib/maps-mapbox-renderer.c | 9 ++-------
lib/maps-mapbox-text-layer.c | 7 ++++---
2 files changed, 6 insertions(+), 10 deletions(-)
---
diff --git a/lib/maps-mapbox-renderer.c b/lib/maps-mapbox-renderer.c
index a1fbe34..cbb9b80 100644
--- a/lib/maps-mapbox-renderer.c
+++ b/lib/maps-mapbox-renderer.c
@@ -173,26 +173,21 @@ on_canvas_draw (ClutterCanvas *canvas,
champlain_tile_get_size (data->tile));
clutter_actor_set_content (actor, data->canvas);
g_object_unref (data->canvas);
- g_object_unref (mapbox);
texts = vtile_mapbox_get_texts (mapbox);
for (l = texts; l != NULL; l = l->next) {
maps_mapbox_text_layer_add_text (data->layer, data->tile, l->data);
}
- finish:
- if (actor)
- champlain_tile_set_content (data->tile, actor);
-
+ champlain_tile_set_content (data->tile, actor);
g_signal_emit_by_name (data->tile, "render-complete",
data->data, data->size, success);
-
+ g_object_unref (mapbox);
g_object_unref (data->tile);
g_free (data->data);
g_free (data);
-
return TRUE;
}
diff --git a/lib/maps-mapbox-text-layer.c b/lib/maps-mapbox-text-layer.c
index 2eb70d2..cc18195 100644
--- a/lib/maps-mapbox-text-layer.c
+++ b/lib/maps-mapbox-text-layer.c
@@ -56,7 +56,8 @@ maps_mapbox_text_layer_init (MapsMapboxTextLayer *self)
MapsMapboxTextLayerPrivate *priv;
self->priv = maps_mapbox_text_layer_get_instance_private (self);
- self->priv->objects = g_hash_table_new (g_str_hash, g_str_equal);
+ self->priv->objects = g_hash_table_new_full (g_str_hash, g_str_equal,
+ g_free, NULL);
self->priv->view = NULL;
}
@@ -112,7 +113,8 @@ maps_mapbox_text_layer_add_text (MapsMapboxTextLayer *layer,
if (g_hash_table_lookup (layer->priv->objects, text->uid)) {
return;
} else {
- g_hash_table_insert (layer->priv->objects, text->uid, text->uid);
+ g_hash_table_insert (layer->priv->objects,
+ g_strdup (text->uid), "dummy");
}
canvas = clutter_canvas_new ();
@@ -135,7 +137,6 @@ maps_mapbox_text_layer_add_text (MapsMapboxTextLayer *layer,
clutter_actor_add_child (CLUTTER_ACTOR (layer), actor);
}
-
/**
* maps_mapbox_text_layer_remove_all:
* @layer: a #MapsMapboxTextLayer
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]