forked from enlightenment/efl
efl.layout.calc: remove list<> usage in FIXME for event
Summary: make this an array since there is no need to use a list here anyway ref T7581 Reviewers: cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl_api Maniphest Tasks: T7581 Differential Revision: https://phab.enlightenment.org/D8058
This commit is contained in:
parent
7b6878bb28
commit
12467afd40
|
@ -3640,7 +3640,7 @@ _edje_map_prop_set(Evas_Map *map, const Edje_Calc_Params *pf,
|
|||
#define Rel2X 2
|
||||
#define Rel2Y 3
|
||||
static Eina_Bool
|
||||
_circular_dependency_find(Edje *ed, Edje_Real_Part *ep, Edje_Real_Part *cep, Eina_List **clist)
|
||||
_circular_dependency_find(Edje *ed, Edje_Real_Part *ep, Edje_Real_Part *cep, Eina_Array *arr)
|
||||
{
|
||||
Edje_Real_Part *rp = NULL;
|
||||
|
||||
|
@ -3654,18 +3654,18 @@ _circular_dependency_find(Edje *ed, Edje_Real_Part *ep, Edje_Real_Part *cep, Ein
|
|||
if (cep->param1.description->rel1.id_x >= 0)
|
||||
{
|
||||
rp = ed->table_parts[cep->param1.description->rel1.id_x];
|
||||
if (_circular_dependency_find(ed, ep, rp, clist))
|
||||
if (_circular_dependency_find(ed, ep, rp, arr))
|
||||
{
|
||||
*clist = eina_list_prepend(*clist, rp->part->name);
|
||||
eina_array_push(arr, eina_stringshare_ref(rp->part->name));
|
||||
return EINA_TRUE;
|
||||
}
|
||||
}
|
||||
if (cep->param1.description->rel2.id_x >= 0)
|
||||
{
|
||||
rp = ed->table_parts[cep->param1.description->rel2.id_x];
|
||||
if (_circular_dependency_find(ed, ep, rp, clist))
|
||||
if (_circular_dependency_find(ed, ep, rp, arr))
|
||||
{
|
||||
*clist = eina_list_prepend(*clist, rp->part->name);
|
||||
eina_array_push(arr, eina_stringshare_ref(rp->part->name));
|
||||
return EINA_TRUE;
|
||||
}
|
||||
}
|
||||
|
@ -3676,18 +3676,18 @@ _circular_dependency_find(Edje *ed, Edje_Real_Part *ep, Edje_Real_Part *cep, Ein
|
|||
if (cep->param2->description->rel1.id_x >= 0)
|
||||
{
|
||||
rp = ed->table_parts[cep->param2->description->rel1.id_x];
|
||||
if (_circular_dependency_find(ed, ep, rp, clist))
|
||||
if (_circular_dependency_find(ed, ep, rp, arr))
|
||||
{
|
||||
*clist = eina_list_prepend(*clist, rp->part->name);
|
||||
eina_array_push(arr, eina_stringshare_ref(rp->part->name));
|
||||
return EINA_TRUE;
|
||||
}
|
||||
}
|
||||
if (cep->param2->description->rel2.id_x >= 0)
|
||||
{
|
||||
rp = ed->table_parts[cep->param2->description->rel2.id_x];
|
||||
if (_circular_dependency_find(ed, ep, rp, clist))
|
||||
if (_circular_dependency_find(ed, ep, rp, arr))
|
||||
{
|
||||
*clist = eina_list_prepend(*clist, rp->part->name);
|
||||
eina_array_push(arr, eina_stringshare_ref(rp->part->name));
|
||||
return EINA_TRUE;
|
||||
}
|
||||
}
|
||||
|
@ -3700,18 +3700,18 @@ _circular_dependency_find(Edje *ed, Edje_Real_Part *ep, Edje_Real_Part *cep, Ein
|
|||
if (cep->param1.description->rel1.id_y >= 0)
|
||||
{
|
||||
rp = ed->table_parts[cep->param1.description->rel1.id_y];
|
||||
if (_circular_dependency_find(ed, ep, rp, clist))
|
||||
if (_circular_dependency_find(ed, ep, rp, arr))
|
||||
{
|
||||
*clist = eina_list_prepend(*clist, rp->part->name);
|
||||
eina_array_push(arr, eina_stringshare_ref(rp->part->name));
|
||||
return EINA_TRUE;
|
||||
}
|
||||
}
|
||||
if (cep->param1.description->rel2.id_y >= 0)
|
||||
{
|
||||
rp = ed->table_parts[cep->param1.description->rel2.id_y];
|
||||
if (_circular_dependency_find(ed, ep, rp, clist))
|
||||
if (_circular_dependency_find(ed, ep, rp, arr))
|
||||
{
|
||||
*clist = eina_list_prepend(*clist, rp->part->name);
|
||||
eina_array_push(arr, eina_stringshare_ref(rp->part->name));
|
||||
return EINA_TRUE;
|
||||
}
|
||||
}
|
||||
|
@ -3721,18 +3721,18 @@ _circular_dependency_find(Edje *ed, Edje_Real_Part *ep, Edje_Real_Part *cep, Ein
|
|||
if (cep->param2->description->rel1.id_y >= 0)
|
||||
{
|
||||
rp = ed->table_parts[cep->param2->description->rel1.id_y];
|
||||
if (_circular_dependency_find(ed, ep, rp, clist))
|
||||
if (_circular_dependency_find(ed, ep, rp, arr))
|
||||
{
|
||||
*clist = eina_list_prepend(*clist, rp->part->name);
|
||||
eina_array_push(arr, eina_stringshare_ref(rp->part->name));
|
||||
return EINA_TRUE;
|
||||
}
|
||||
}
|
||||
if (cep->param2->description->rel2.id_y >= 0)
|
||||
{
|
||||
rp = ed->table_parts[cep->param2->description->rel2.id_y];
|
||||
if (_circular_dependency_find(ed, ep, rp, clist))
|
||||
if (_circular_dependency_find(ed, ep, rp, arr))
|
||||
{
|
||||
*clist = eina_list_prepend(*clist, rp->part->name);
|
||||
eina_array_push(arr, eina_stringshare_ref(rp->part->name));
|
||||
return EINA_TRUE;
|
||||
}
|
||||
}
|
||||
|
@ -3892,26 +3892,29 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
|
|||
axes, ep->calculating,
|
||||
faxes, flags);
|
||||
|
||||
Eina_List *clist = NULL;
|
||||
Eina_List *l = NULL;
|
||||
char *part_name;
|
||||
char depends_path[PATH_MAX] = "";
|
||||
Eina_Array *part_array = eina_array_new(10);;
|
||||
|
||||
if (_circular_dependency_find(ed, ep, NULL, &clist))
|
||||
if (_circular_dependency_find(ed, ep, NULL, part_array))
|
||||
{
|
||||
Eina_Array_Iterator it;
|
||||
unsigned int i;
|
||||
char *part_name;
|
||||
char depends_path[PATH_MAX] = "";
|
||||
|
||||
efl_event_callback_legacy_call(ed->obj, EFL_LAYOUT_EVENT_CIRCULAR_DEPENDENCY, part_array);
|
||||
strncat(depends_path, ep->part->name,
|
||||
sizeof(depends_path) - strlen(depends_path) - 1);
|
||||
EINA_LIST_FOREACH(clist, l, part_name)
|
||||
EINA_ARRAY_ITER_NEXT(part_array, i, part_name, it)
|
||||
{
|
||||
strncat(depends_path, " -> ",
|
||||
sizeof(depends_path) - strlen(depends_path) - 1);
|
||||
strncat(depends_path, part_name,
|
||||
sizeof(depends_path) - strlen(depends_path) - 1);
|
||||
eina_stringshare_del(part_name);
|
||||
}
|
||||
efl_event_callback_legacy_call(ed->obj, EFL_LAYOUT_EVENT_CIRCULAR_DEPENDENCY, clist);
|
||||
ERR("Circular dependency in the group '%s' : %s",
|
||||
ed->group, depends_path);
|
||||
eina_list_free(clist);
|
||||
eina_array_free(part_array);
|
||||
}
|
||||
#endif
|
||||
return;
|
||||
|
|
|
@ -109,8 +109,7 @@ interface @beta Efl.Layout.Calc
|
|||
}
|
||||
events {
|
||||
recalc: void; [[The layout was recalculated.]]
|
||||
/* FIXME: The actual type is list<string> but the C# bindings do not support that yet */
|
||||
circular,dependency: void; [[A circular dependency between parts of the
|
||||
circular,dependency: const(array<string>); [[A circular dependency between parts of the
|
||||
object was found.]]
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue