summaryrefslogtreecommitdiff
path: root/legacy/edje
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@free.fr>2008-12-17 14:26:47 +0000
committerCedric BAIL <cedric.bail@free.fr>2008-12-17 14:26:47 +0000
commite33474c92fab31424aa4bfce1017b688e016ea36 (patch)
tree8f3ff3d2d233663738e1e799cd7c5514162cab91 /legacy/edje
parent05af27f99945c5c2c993c453196ff7987a97ec33 (diff)
Move to eina_hash. Nothing should break, but if you experience any unexpected behaviour
please ping me on #edevelop. SVN revision: 38183
Diffstat (limited to 'legacy/edje')
-rw-r--r--legacy/edje/src/bin/edje_cc_sources.c31
-rw-r--r--legacy/edje/src/lib/edje_cache.c45
-rw-r--r--legacy/edje/src/lib/edje_calc.c2
-rw-r--r--legacy/edje/src/lib/edje_data.c16
-rw-r--r--legacy/edje/src/lib/edje_edit.c52
-rw-r--r--legacy/edje/src/lib/edje_load.c5
-rw-r--r--legacy/edje/src/lib/edje_private.h12
-rw-r--r--legacy/edje/src/lib/edje_program.c18
-rw-r--r--legacy/edje/src/lib/edje_text.c2
-rw-r--r--legacy/edje/src/lib/edje_util.c12
10 files changed, 136 insertions, 59 deletions
diff --git a/legacy/edje/src/bin/edje_cc_sources.c b/legacy/edje/src/bin/edje_cc_sources.c
index 14ccd543c7..e25d63a83e 100644
--- a/legacy/edje/src/bin/edje_cc_sources.c
+++ b/legacy/edje/src/bin/edje_cc_sources.c
@@ -30,6 +30,19 @@ _edje_str_direct_free(const char *str)
30{ 30{
31} 31}
32 32
33static void *
34_edje_eina_hash_add_alloc(void *hash, const char *key, void *data)
35{
36 Eina_Hash *result = hash;
37
38 if (!result) result = eina_hash_string_small_new(NULL);
39 if (!result) return NULL;
40
41 eina_hash_add(result, key, data);
42
43 return result;
44}
45
33void 46void
34source_edd(void) 47source_edd(void)
35{ 48{
@@ -38,15 +51,15 @@ source_edd(void)
38 eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION; 51 eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
39 eddc.func.mem_alloc = NULL; 52 eddc.func.mem_alloc = NULL;
40 eddc.func.mem_free = NULL; 53 eddc.func.mem_free = NULL;
41 eddc.func.str_alloc = (char *(*)(const char *))eina_stringshare_add; 54 eddc.func.str_alloc = eina_stringshare_add;
42 eddc.func.str_free = (void (*)(const char *))eina_stringshare_del; 55 eddc.func.str_free = eina_stringshare_del;
43 eddc.func.list_next = (void *(*)(void *))eina_list_next; 56 eddc.func.list_next = eina_list_next;
44 eddc.func.list_append = (void *(*)(void *, void *))eina_list_append; 57 eddc.func.list_append = eina_list_append;
45 eddc.func.list_data = (void *(*)(void *))eina_list_data_get; 58 eddc.func.list_data = eina_list_data_get;
46 eddc.func.list_free = (void *(*)(void *))eina_list_free; 59 eddc.func.list_free = eina_list_free;
47 eddc.func.hash_foreach = (void (*)(void *, int (*) (void *, const char *, void *, void *), void *))evas_hash_foreach; 60 eddc.func.hash_foreach = eina_hash_foreach;
48 eddc.func.hash_add = (void *(*)(void *, const char *, void *))evas_hash_add; 61 eddc.func.hash_add = _edje_eina_hash_add_alloc;
49 eddc.func.hash_free = (void (*)(void *))evas_hash_free; 62 eddc.func.hash_free = eina_hash_free;
50 eddc.func.str_direct_alloc = _edje_str_direct_alloc; 63 eddc.func.str_direct_alloc = _edje_str_direct_alloc;
51 eddc.func.str_direct_free = _edje_str_direct_free; 64 eddc.func.str_direct_free = _edje_str_direct_free;
52 65
diff --git a/legacy/edje/src/lib/edje_cache.c b/legacy/edje/src/lib/edje_cache.c
index 6eb051bf53..f0dff46319 100644
--- a/legacy/edje/src/lib/edje_cache.c
+++ b/legacy/edje/src/lib/edje_cache.c
@@ -28,7 +28,7 @@ void *alloca (size_t);
28 28
29#include "edje_private.h" 29#include "edje_private.h"
30 30
31static Eina_Hash *_edje_file_hash = NULL; 31static Evas_Hash *_edje_file_hash = NULL;
32static int _edje_file_cache_size = 16; 32static int _edje_file_cache_size = 16;
33static Eina_List *_edje_file_cache = NULL; 33static Eina_List *_edje_file_cache = NULL;
34 34
@@ -69,7 +69,9 @@ _edje_file_coll_open(Edje_File *edf, const char *coll)
69 69
70 edc->part = eina_stringshare_add(coll); 70 edc->part = eina_stringshare_add(coll);
71 edc->references = 1; 71 edc->references = 1;
72 edf->collection_hash = evas_hash_add(edf->collection_hash, coll, edc); 72 if (!edf->collection_hash)
73 edf->collection_hash = eina_hash_string_superfast_new(NULL);
74 eina_hash_add(edf->collection_hash, coll, edc);
73 return edc; 75 return edc;
74} 76}
75 77
@@ -78,6 +80,9 @@ _edje_font_hash(Edje_File *edf)
78{ 80{
79 int count = 0; 81 int count = 0;
80 82
83 if (!edf->font_hash)
84 edf->font_hash = eina_hash_string_superfast_new(NULL);
85
81 if (edf->font_dir) 86 if (edf->font_dir)
82 { 87 {
83 Eina_List *l; 88 Eina_List *l;
@@ -96,7 +101,7 @@ _edje_font_hash(Edje_File *edf)
96 if (edf->free_strings) 101 if (edf->free_strings)
97 eina_stringshare_del(fnt->entry); 102 eina_stringshare_del(fnt->entry);
98 fnt->entry = fnt->path + 6; 103 fnt->entry = fnt->path + 6;
99 edf->font_hash = evas_hash_direct_add(edf->font_hash, fnt->entry, fnt); 104 eina_hash_direct_add(edf->font_hash, fnt->entry, fnt);
100 105
101 count++; 106 count++;
102 } 107 }
@@ -156,8 +161,10 @@ _edje_file_open(const char *file, const char *coll, int *error_ret, Edje_Part_Co
156 161
157 _edje_textblock_style_parse_and_fix(edf); 162 _edje_textblock_style_parse_and_fix(edf);
158 163
164 if (!edf->data_cache)
165 edf->data_cache = eina_hash_string_superfast_new(NULL);
159 EINA_LIST_FOREACH(edf->data, l, di) 166 EINA_LIST_FOREACH(edf->data, l, di)
160 edf->data_cache = evas_hash_add(edf->data_cache, eina_stringshare_add(di->key), di->value); 167 eina_hash_add(edf->data_cache, di->key, di->value);
161 168
162 if (coll) 169 if (coll)
163 { 170 {
@@ -184,10 +191,15 @@ _edje_cache_file_coll_open(const char *file, const char *coll, int *error_ret, E
184 Edje_Part_Collection *edc; 191 Edje_Part_Collection *edc;
185 Edje_Part *ep; 192 Edje_Part *ep;
186 193
187 edf = evas_hash_find(_edje_file_hash, file); 194 if (!_edje_file_hash)
195 _edje_file_hash = eina_hash_string_superfast_new(NULL);
196 edf = eina_hash_find(_edje_file_hash, file);
197
188 if (edf) 198 if (edf)
189 { 199 {
190 edf->references++; 200 edf->references++;
201 if (!edf->collection_hash)
202 edf->collection_hash = eina_hash_string_superfast_new(NULL);
191 } 203 }
192 else 204 else
193 { 205 {
@@ -197,7 +209,7 @@ _edje_cache_file_coll_open(const char *file, const char *coll, int *error_ret, E
197 { 209 {
198 edf->references = 1; 210 edf->references = 1;
199 _edje_file_cache = eina_list_remove_list(_edje_file_cache, l); 211 _edje_file_cache = eina_list_remove_list(_edje_file_cache, l);
200 _edje_file_hash = evas_hash_add(_edje_file_hash, file, edf); 212 eina_hash_add(_edje_file_hash, file, edf);
201 break; 213 break;
202 } 214 }
203 edf = NULL; 215 edf = NULL;
@@ -207,13 +219,13 @@ _edje_cache_file_coll_open(const char *file, const char *coll, int *error_ret, E
207 { 219 {
208 edf = _edje_file_open(file, coll, error_ret, edc_ret); 220 edf = _edje_file_open(file, coll, error_ret, edc_ret);
209 if (!edf) return NULL; 221 if (!edf) return NULL;
210 _edje_file_hash = evas_hash_add(_edje_file_hash, file, edf); 222 eina_hash_add(_edje_file_hash, file, edf);
211 return edf; 223 return edf;
212 } 224 }
213 225
214 if (!coll) return edf; 226 if (!coll) return edf;
215 227
216 edc = evas_hash_find(edf->collection_hash, coll); 228 edc = eina_hash_find(edf->collection_hash, coll);
217 if (edc) 229 if (edc)
218 { 230 {
219 edc->references++; 231 edc->references++;
@@ -226,7 +238,7 @@ _edje_cache_file_coll_open(const char *file, const char *coll, int *error_ret, E
226 { 238 {
227 edc->references = 1; 239 edc->references = 1;
228 edf->collection_cache = eina_list_remove_list(edf->collection_cache, l); 240 edf->collection_cache = eina_list_remove_list(edf->collection_cache, l);
229 edf->collection_hash = evas_hash_add(edf->collection_hash, coll, edc); 241 eina_hash_add(edf->collection_hash, coll, edc);
230 break; 242 break;
231 } 243 }
232 edc = NULL; 244 edc = NULL;
@@ -345,7 +357,12 @@ _edje_cache_coll_unref(Edje_File *edf, Edje_Part_Collection *edc)
345{ 357{
346 edc->references--; 358 edc->references--;
347 if (edc->references != 0) return; 359 if (edc->references != 0) return;
348 edf->collection_hash = evas_hash_del(edf->collection_hash, edc->part, edc); 360 eina_hash_del(edf->collection_hash, edc->part, edc);
361 if (!eina_hash_population(edf->collection_hash))
362 {
363 eina_hash_free(edf->collection_hash);
364 edf->collection_hash = NULL;
365 }
349 edf->collection_cache = eina_list_prepend(edf->collection_cache, edc); 366 edf->collection_cache = eina_list_prepend(edf->collection_cache, edc);
350 _edje_cache_coll_clean(edf); 367 _edje_cache_coll_clean(edf);
351} 368}
@@ -372,7 +389,13 @@ _edje_cache_file_unref(Edje_File *edf)
372{ 389{
373 edf->references--; 390 edf->references--;
374 if (edf->references != 0) return; 391 if (edf->references != 0) return;
375 _edje_file_hash = evas_hash_del(_edje_file_hash, edf->path, edf); 392
393 eina_hash_del(_edje_file_hash, edf->path, edf);
394 if (!eina_hash_population(_edje_file_hash))
395 {
396 eina_hash_free(_edje_file_hash);
397 _edje_file_hash = NULL;
398 }
376 _edje_file_cache = eina_list_prepend(_edje_file_cache, edf); 399 _edje_file_cache = eina_list_prepend(_edje_file_cache, edf);
377 _edje_cache_file_clean(); 400 _edje_cache_file_clean();
378} 401}
diff --git a/legacy/edje/src/lib/edje_calc.c b/legacy/edje/src/lib/edje_calc.c
index 153632be06..3396449f27 100644
--- a/legacy/edje/src/lib/edje_calc.c
+++ b/legacy/edje/src/lib/edje_calc.c
@@ -777,7 +777,7 @@ _edje_part_recalc_single(Edje *ed,
777 { 777 {
778 Edje_Font_Directory_Entry *fnt; 778 Edje_Font_Directory_Entry *fnt;
779 779
780 fnt = evas_hash_find(ed->file->font_hash, font); 780 fnt = eina_hash_find(ed->file->font_hash, font);
781 781
782 if (fnt) 782 if (fnt)
783 { 783 {
diff --git a/legacy/edje/src/lib/edje_data.c b/legacy/edje/src/lib/edje_data.c
index 28475148d9..cdd0a2c5c6 100644
--- a/legacy/edje/src/lib/edje_data.c
+++ b/legacy/edje/src/lib/edje_data.c
@@ -75,6 +75,16 @@ _edje_str_direct_free(const char *str)
75{ 75{
76} 76}
77 77
78static Eina_Hash *
79_edje_eina_hash_add_alloc(Eina_Hash *hash, const char *key, void *data)
80{
81 if (!hash) hash = eina_hash_string_small_new(NULL);
82 if (!hash) return NULL;
83
84 eina_hash_add(hash, key, data);
85 return hash;
86}
87
78void 88void
79_edje_edd_setup(void) 89_edje_edd_setup(void)
80{ 90{
@@ -89,9 +99,9 @@ _edje_edd_setup(void)
89 eddc.func.list_append = (void *(*)(void *, void *))eina_list_append; 99 eddc.func.list_append = (void *(*)(void *, void *))eina_list_append;
90 eddc.func.list_data = (void *(*)(void *))eina_list_data_get; 100 eddc.func.list_data = (void *(*)(void *))eina_list_data_get;
91 eddc.func.list_free = (void *(*)(void *))eina_list_free; 101 eddc.func.list_free = (void *(*)(void *))eina_list_free;
92 eddc.func.hash_foreach = (void (*)(void *, int (*)(void *, const char *, void *, void *), void *))evas_hash_foreach; 102 eddc.func.hash_foreach = (void (*)(const Eina_Hash *, Eina_Bool (*)(const Eina_Hash *, const void *, void *, void *), void *))eina_hash_foreach;
93 eddc.func.hash_add = (void *(*)(void *, const char *, void *))evas_hash_add; 103 eddc.func.hash_add = (Eina_Hash* (*)(Eina_Hash *, const char *, void *)) _edje_eina_hash_add_alloc;
94 eddc.func.hash_free = (void (*)(void *))evas_hash_free; 104 eddc.func.hash_free = (void (*)(void *))eina_hash_free;
95 eddc.func.str_direct_alloc = _edje_str_direct_alloc; 105 eddc.func.str_direct_alloc = _edje_str_direct_alloc;
96 eddc.func.str_direct_free = _edje_str_direct_free; 106 eddc.func.str_direct_free = _edje_str_direct_free;
97 107
diff --git a/legacy/edje/src/lib/edje_edit.c b/legacy/edje/src/lib/edje_edit.c
index eca5d90e6a..628851d38f 100644
--- a/legacy/edje/src/lib/edje_edit.c
+++ b/legacy/edje/src/lib/edje_edit.c
@@ -716,7 +716,9 @@ edje_edit_group_add(Evas_Object *obj, const char *name)
716 //cd = mem_alloc(SZ(Code)); 716 //cd = mem_alloc(SZ(Code));
717 //codes = eina_list_append(codes, cd); 717 //codes = eina_list_append(codes, cd);
718 718
719 ed->file->collection_hash = evas_hash_add(ed->file->collection_hash, name, pc); 719 if (!ed->file->collection_hash)
720 ed->file->collection_hash = eina_hash_string_superfast_new(NULL);
721 eina_hash_add(ed->file->collection_hash, name, pc);
720 722
721 return 1; 723 return 1;
722} 724}
@@ -828,10 +830,12 @@ edje_edit_group_name_set(Evas_Object *obj, const char *new_name)
828 { 830 {
829 if (pc->id == pce->id) 831 if (pc->id == pce->id)
830 { 832 {
831 ed->file->collection_hash = evas_hash_del(ed->file->collection_hash, 833 eina_hash_del(ed->file->collection_hash,
832 pce->entry, NULL); 834 pce->entry, NULL);
833 ed->file->collection_hash = evas_hash_add(ed->file->collection_hash, 835 if (!ed->file->collection_hash)
834 new_name, pc); 836 ed->file->collection_hash = eina_hash_string_superfast_new(NULL);
837 eina_hash_add(ed->file->collection_hash,
838 new_name, pc);
835 839
836 //if (pce->entry && //TODO Also this cause segv 840 //if (pce->entry && //TODO Also this cause segv
837 // !eet_dictionary_string_check(eet_dictionary_get(ed->file->ef), pce->entry)) 841 // !eet_dictionary_string_check(eet_dictionary_get(ed->file->ef), pce->entry))
@@ -1295,7 +1299,7 @@ EAPI Eina_List *
1295edje_edit_style_tags_list_get(Evas_Object * obj, const char* style) 1299edje_edit_style_tags_list_get(Evas_Object * obj, const char* style)
1296{ 1300{
1297 Eina_List *tags = NULL; 1301 Eina_List *tags = NULL;
1298 Eina_List *ll; 1302 Eina_List *l, *ll;
1299 Edje_Style *s; 1303 Edje_Style *s;
1300 Edje_Style_Tag *t; 1304 Edje_Style_Tag *t;
1301 1305
@@ -3310,7 +3314,9 @@ edje_edit_font_add(Evas_Object *obj, const char* path)
3310 fnt->path = mem_strdup(buf); 3314 fnt->path = mem_strdup(buf);
3311 3315
3312 ed->file->font_dir->entries = eina_list_append(ed->file->font_dir->entries, fnt); 3316 ed->file->font_dir->entries = eina_list_append(ed->file->font_dir->entries, fnt);
3313 ed->file->font_hash = evas_hash_direct_add(ed->file->font_hash, fnt->entry, fnt); 3317 if (!ed->file->font_hash)
3318 ed->file->font_hash = eina_hash_string_superfast_new(NULL);
3319 eina_hash_direct_add(ed->file->font_hash, fnt->entry, fnt);
3314 } 3320 }
3315 3321
3316 return 1; 3322 return 1;
@@ -5397,6 +5403,20 @@ _edje_edit_str_direct_free(const char *str)
5397{ 5403{
5398} 5404}
5399 5405
5406static void *
5407_edje_eina_hash_add_alloc(void *hash, const void *key, void *data)
5408{
5409 Eina_Hash *result = hash;
5410
5411 if (!result) result = eina_hash_string_small_new(NULL);
5412 if (!result) return NULL;
5413
5414 eina_hash_add(result, key, data);
5415
5416 return result;
5417}
5418
5419
5400static Eet_Data_Descriptor *_srcfile_edd = NULL; 5420static Eet_Data_Descriptor *_srcfile_edd = NULL;
5401static Eet_Data_Descriptor *_srcfile_list_edd = NULL; 5421static Eet_Data_Descriptor *_srcfile_list_edd = NULL;
5402 5422
@@ -5408,15 +5428,15 @@ source_edd(void)
5408 eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION; 5428 eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
5409 eddc.func.mem_alloc = NULL; 5429 eddc.func.mem_alloc = NULL;
5410 eddc.func.mem_free = NULL; 5430 eddc.func.mem_free = NULL;
5411 eddc.func.str_alloc = (char *(*)(const char *))eina_stringshare_add; 5431 eddc.func.str_alloc = eina_stringshare_add;
5412 eddc.func.str_free = (void (*)(const char *))eina_stringshare_del; 5432 eddc.func.str_free = eina_stringshare_del;
5413 eddc.func.list_next = (void *(*)(void *))eina_list_next; 5433 eddc.func.list_next = eina_list_next;
5414 eddc.func.list_append = (void *(*)(void *, void *))eina_list_append; 5434 eddc.func.list_append = eina_list_append;
5415 eddc.func.list_data = (void *(*)(void *))eina_list_data_get; 5435 eddc.func.list_data = eina_list_data_get;
5416 eddc.func.list_free = (void *(*)(void *))eina_list_free; 5436 eddc.func.list_free = eina_list_free;
5417 eddc.func.hash_foreach = (void (*)(void *, int (*) (void *, const char *, void *, void *), void *))evas_hash_foreach; 5437 eddc.func.hash_foreach = eina_hash_foreach;
5418 eddc.func.hash_add = (void *(*)(void *, const char *, void *))evas_hash_add; 5438 eddc.func.hash_add = _edje_eina_hash_add_alloc;
5419 eddc.func.hash_free = (void (*)(void *))evas_hash_free; 5439 eddc.func.hash_free = eina_hash_free;
5420 eddc.func.str_direct_alloc = _edje_edit_str_direct_alloc; 5440 eddc.func.str_direct_alloc = _edje_edit_str_direct_alloc;
5421 eddc.func.str_direct_free = _edje_edit_str_direct_free; 5441 eddc.func.str_direct_free = _edje_edit_str_direct_free;
5422 5442
diff --git a/legacy/edje/src/lib/edje_load.c b/legacy/edje/src/lib/edje_load.c
index ad560e7274..7586dd3d5d 100644
--- a/legacy/edje/src/lib/edje_load.c
+++ b/legacy/edje/src/lib/edje_load.c
@@ -855,6 +855,11 @@ _edje_file_free(Edje_File *edf)
855 } 855 }
856 free(edf->font_dir); 856 free(edf->font_dir);
857 } 857 }
858 if (edf->font_hash)
859 {
860 eina_hash_free(edf->font_hash);
861 edf->font_hash = NULL;
862 }
858 if (edf->image_dir) 863 if (edf->image_dir)
859 { 864 {
860 while (edf->image_dir->entries) 865 while (edf->image_dir->entries)
diff --git a/legacy/edje/src/lib/edje_private.h b/legacy/edje/src/lib/edje_private.h
index 315d6c860b..854905f742 100644
--- a/legacy/edje/src/lib/edje_private.h
+++ b/legacy/edje/src/lib/edje_private.h
@@ -255,10 +255,10 @@ struct _Edje_File
255 int version; 255 int version;
256 int feature_ver; 256 int feature_ver;
257 257
258 Evas_Hash *collection_hash; 258 Eina_Hash *collection_hash;
259 Evas_Hash *font_hash; 259 Eina_Hash *font_hash;
260 Eina_List *collection_cache; 260 Eina_List *collection_cache;
261 Evas_Hash *data_cache; 261 Eina_Hash *data_cache;
262 262
263 Eet_File *ef; 263 Eet_File *ef;
264 264
@@ -433,8 +433,8 @@ struct _Edje_Part_Collection
433 int references; 433 int references;
434#ifdef EDJE_PROGRAM_CACHE 434#ifdef EDJE_PROGRAM_CACHE
435 struct { 435 struct {
436 Evas_Hash *no_matches; 436 Eina_Hash *no_matches;
437 Evas_Hash *matches; 437 Eina_Hash *matches;
438 } prog_cache; 438 } prog_cache;
439#endif 439#endif
440 440
@@ -880,7 +880,7 @@ struct _Edje_Var_List
880 880
881struct _Edje_Var_Hash 881struct _Edje_Var_Hash
882{ 882{
883 Evas_Hash *v; 883 Eina_Hash *v;
884}; 884};
885 885
886struct _Edje_Var_Timer 886struct _Edje_Var_Timer
diff --git a/legacy/edje/src/lib/edje_program.c b/legacy/edje/src/lib/edje_program.c
index 608cb8673e..df867dde16 100644
--- a/legacy/edje/src/lib/edje_program.c
+++ b/legacy/edje/src/lib/edje_program.c
@@ -933,11 +933,11 @@ _edje_emit_handle(Edje *ed, const char *sig, const char *src)
933 Eina_List *l; 933 Eina_List *l;
934 Edje_Program *pr; 934 Edje_Program *pr;
935 935
936 if (evas_hash_find(ec->prog_cache.no_matches, tmps)) 936 if (eina_hash_find(ec->prog_cache.no_matches, tmps))
937 { 937 {
938 done = 1; 938 done = 1;
939 } 939 }
940 else if ((matches = evas_hash_find(ec->prog_cache.matches, tmps))) 940 else if ((matches = eina_hash_find(ec->prog_cache.matches, tmps)))
941 { 941 {
942 EINA_LIST_FOREACH(matches, l, pr) 942 EINA_LIST_FOREACH(matches, l, pr)
943 { 943 {
@@ -988,11 +988,17 @@ _edje_emit_handle(Edje *ed, const char *sig, const char *src)
988 if (tmps) 988 if (tmps)
989 { 989 {
990 if (data.matched == 0) 990 if (data.matched == 0)
991 ec->prog_cache.no_matches = 991 {
992 evas_hash_add(ec->prog_cache.no_matches, tmps, ed); 992 if (!ec->prog_cache.no_matches)
993 ec->prog_cache.no_matches = eina_hash_string_superfast_new(NULL);
994 eina_hash_add(ec->prog_cache.no_matches, tmps, ed);
995 }
993 else 996 else
994 ec->prog_cache.matches = 997 {
995 evas_hash_add(ec->prog_cache.matches, tmps, data.matches); 998 if (!ec->prog_cache.matches)
999 ec->prog_cache.matches = eina_hash_string_superfast_new(NULL);
1000 eina_hash_add(ec->prog_cache.matches, tmps, data.matches);
1001 }
996 } 1002 }
997#endif 1003#endif
998 } 1004 }
diff --git a/legacy/edje/src/lib/edje_text.c b/legacy/edje/src/lib/edje_text.c
index 9085d82b1f..ff775b18fd 100644
--- a/legacy/edje/src/lib/edje_text.c
+++ b/legacy/edje/src/lib/edje_text.c
@@ -359,7 +359,7 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
359 /* check if the font is embedded in the .eet */ 359 /* check if the font is embedded in the .eet */
360 if (ed->file->font_hash) 360 if (ed->file->font_hash)
361 { 361 {
362 Edje_Font_Directory_Entry *fnt = evas_hash_find(ed->file->font_hash, font); 362 Edje_Font_Directory_Entry *fnt = eina_hash_find(ed->file->font_hash, font);
363 363
364 if (fnt) 364 if (fnt)
365 { 365 {
diff --git a/legacy/edje/src/lib/edje_util.c b/legacy/edje/src/lib/edje_util.c
index 37c8d181cb..5a9401669c 100644
--- a/legacy/edje/src/lib/edje_util.c
+++ b/legacy/edje/src/lib/edje_util.c
@@ -20,11 +20,11 @@ struct _Edje_Box_Layout
20typedef struct _Edje_Box_Layout Edje_Box_Layout; 20typedef struct _Edje_Box_Layout Edje_Box_Layout;
21 21
22 22
23static Eina_Hash *_edje_color_class_hash = NULL; 23static Evas_Hash *_edje_color_class_hash = NULL;
24static Eina_Hash *_edje_color_class_member_hash = NULL; 24static Evas_Hash *_edje_color_class_member_hash = NULL;
25 25
26static Eina_Hash *_edje_text_class_hash = NULL; 26static Evas_Hash *_edje_text_class_hash = NULL;
27static Eina_Hash *_edje_text_class_member_hash = NULL; 27static Evas_Hash *_edje_text_class_member_hash = NULL;
28 28
29static Eina_Rbtree *_edje_box_layout_registry = NULL; 29static Eina_Rbtree *_edje_box_layout_registry = NULL;
30 30
@@ -40,8 +40,8 @@ struct _Edje_List_Foreach_Data
40 Eina_List *list; 40 Eina_List *list;
41}; 41};
42 42
43static Eina_Bool _edje_color_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata); 43static Evas_Bool _edje_color_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata);
44static Eina_Bool _edje_text_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata); 44static Evas_Bool _edje_text_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata);
45 45
46Edje_Real_Part *_edje_real_part_recursive_get_helper(Edje *ed, char **path); 46Edje_Real_Part *_edje_real_part_recursive_get_helper(Edje *ed, char **path);
47 47