forked from enlightenment/efl
someone somewhere along the way broke evas_render_method_list(). FIX!
SVN revision: 69634
This commit is contained in:
parent
09c584418b
commit
6c4d8abb01
|
@ -509,7 +509,9 @@ evas_render_method_list(void)
|
|||
EAPI void
|
||||
evas_render_method_list_free(Eina_List *list)
|
||||
{
|
||||
eina_list_free(list);
|
||||
const char *s;
|
||||
|
||||
EINA_LIST_FREE(list, s) eina_stringshare_del(s);
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
|
|
|
@ -293,12 +293,51 @@ Eina_List *
|
|||
evas_module_engine_list(void)
|
||||
{
|
||||
Evas_Module *em;
|
||||
Eina_List *r = NULL;
|
||||
Eina_List *r = NULL, *l, *ll;
|
||||
Eina_Array_Iterator iterator;
|
||||
Eina_Iterator *it, *it2;
|
||||
unsigned int i;
|
||||
const char *s, *s2;
|
||||
char buf[4096];
|
||||
|
||||
EINA_LIST_FOREACH(evas_module_paths, l, s)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%s/engines", s);
|
||||
it = eina_file_direct_ls(buf);
|
||||
if (it)
|
||||
{
|
||||
Eina_File_Direct_Info *fi;
|
||||
|
||||
EINA_ITERATOR_FOREACH(it, fi)
|
||||
{
|
||||
const char *fname = fi->path + fi->name_start;
|
||||
snprintf(buf, sizeof(buf), "%s/engines/%s/%s",
|
||||
s, fname, MODULE_ARCH);
|
||||
it2 = eina_file_ls(buf);
|
||||
if (it2)
|
||||
{
|
||||
EINA_LIST_FOREACH(r, ll, s2)
|
||||
{
|
||||
if (!strcmp(fname, s2)) break;
|
||||
}
|
||||
if (!ll)
|
||||
r = eina_list_append(r, eina_stringshare_add(fname));
|
||||
eina_iterator_free(it2);
|
||||
}
|
||||
}
|
||||
eina_iterator_free(it);
|
||||
}
|
||||
}
|
||||
|
||||
EINA_ARRAY_ITER_NEXT(evas_engines, i, em, iterator)
|
||||
r = eina_list_append(r, em->definition->name);
|
||||
{
|
||||
EINA_LIST_FOREACH(r, ll, s2)
|
||||
{
|
||||
if (!strcmp(em->definition->name, s2)) break;
|
||||
}
|
||||
if (!ll)
|
||||
r = eina_list_append(r, eina_stringshare_add(em->definition->name));
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue