summaryrefslogtreecommitdiff
path: root/src/lib/evas/vg/evas_vg_cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/evas/vg/evas_vg_cache.c')
-rw-r--r--src/lib/evas/vg/evas_vg_cache.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/lib/evas/vg/evas_vg_cache.c b/src/lib/evas/vg/evas_vg_cache.c
index 1e56fc14c5..f628a781d1 100644
--- a/src/lib/evas/vg/evas_vg_cache.c
+++ b/src/lib/evas/vg/evas_vg_cache.c
@@ -177,8 +177,7 @@ static void
_evas_cache_vg_data_free_cb(void *data)
{
Vg_File_Data *val = data;
-
- efl_del(val->root);
+ efl_unref(val->root);
free(val);
}
@@ -190,7 +189,7 @@ _evas_cache_svg_entry_free_cb(void *data)
eina_stringshare_del(entry->file);
eina_stringshare_del(entry->key);
free(entry->hash_key);
- efl_del(entry->root);
+ efl_unref(entry->root);
free(entry);
}
@@ -232,7 +231,8 @@ evas_cache_vg_file_info(const char *file, const char *key)
if (!vd)
{
vd = _vg_load_from_file(file, key);
- eina_hash_add(vg_cache->vg_hash, eina_strbuf_string_get(hash_key), vd);
+ //File is exists.
+ if (vd) eina_hash_add(vg_cache->vg_hash, eina_strbuf_string_get(hash_key), vd);
}
eina_strbuf_free(hash_key);
return vd;
@@ -262,17 +262,16 @@ _apply_transformation(Efl_VG *root, double w, double h, Vg_File_Data *vg_data)
eina_matrix3_scale(&m, sx, sy);
eina_matrix3_translate(&m, -vg_data->view_box.x, -vg_data->view_box.y);
}
- evas_vg_node_transformation_set(root, &m);
+ efl_canvas_vg_node_transformation_set(root, &m);
}
static Efl_VG *
_evas_vg_dup_vg_tree(Vg_File_Data *fd, double w, double h)
{
-
Efl_VG *root;
if (!fd) return NULL;
- if ( !w || !h ) return NULL;
+ if (w < 1 || h < 1) return NULL;
root = efl_duplicate(fd->root);
_apply_transformation(root, w, h, fd);
@@ -335,9 +334,8 @@ evas_cache_vg_tree_get(Evas_Cache_Vg_Entry *entry)
if (entry->root) return entry->root;
if (entry->file)
- {
- _evas_cache_svg_vg_tree_update(entry);
- }
+ _evas_cache_svg_vg_tree_update(entry);
+
return entry->root;
}