* e: Cleanup use of Eina data structure.

Patch from Peter van de Werken <pwerken-e@a-eskwadraat.nl>.


SVN revision: 41916
This commit is contained in:
Cedric BAIL 2009-08-21 15:08:49 +00:00
parent b1225d5251
commit f8c05999e4
73 changed files with 1262 additions and 2026 deletions

View File

@ -126,14 +126,12 @@ typedef struct _E_Rect E_Rect;
{ \
if (list) \
{ \
Eina_List *tmp; \
tmp = list; \
list = NULL; \
while (tmp) \
void *data; \
EINA_LIST_FREE(list, data) \
{ \
free(tmp->data); \
tmp = eina_list_remove_list(tmp, tmp); \
free(data); \
} \
list = NULL; \
} \
} \
while (0)

View File

@ -1286,12 +1286,9 @@ ACT_FN_GO(desk_linear_flip_to)
E_Container *con; \
E_Manager *man; \
\
for (lm = e_manager_list(); lm; lm = lm->next) { \
man = lm->data; \
for (lc = man->containers; lc; lc = lc->next) { \
con = lc->data; \
for (lz = con->zones; lz; lz = lz->next) { \
zone = lz->data; \
EINA_LIST_FOREACH(e_manager_list(), lm, man) { \
EINA_LIST_FOREACH(man->containers, lc, con) { \
EINA_LIST_FOREACH(con->zones, lz, zone) { \
act; \
} \
} \
@ -1441,26 +1438,20 @@ if ((con_num < 0) || (zone_num < 0)) { \
E_Manager *man; \
if ((con_num >= 0) && (zone_num < 0)) /* con=1 zone=all */ { \
con = e_util_container_number_get(con_num); \
for (l = con->zones; l; l = l->next) { \
zone = l->data; \
EINA_LIST_FOREACH(con->zones, l, zone) { \
act; \
} } \
else if ((con_num < 0) && (zone_num >= 0)) /* con=all zone=1 */ { \
for (l = e_manager_list(); l; l = l->next) { \
man = l->data; \
for (ll = man->containers; ll; ll = ll->next) { \
con = ll->data; \
EINA_LIST_FOREACH(e_manager_list(), l, man) { \
EINA_LIST_FOREACH(man->containers, ll, con) { \
zone = e_container_zone_number_get(con, zone_num); \
if (zone) \
act; \
} } } \
else if ((con_num < 0) && (zone_num < 0)) /* con=all zone=all */ { \
for (l = e_manager_list(); l; l = l->next) { \
man = l->data; \
for (ll = man->containers; ll; ll = ll->next) { \
con = ll->data; \
for (lll = con->zones; lll; lll = lll->next) { \
zone = lll->data; \
EINA_LIST_FOREACH(e_manager_list(), l, man) { \
EINA_LIST_FOREACH(man->containers, ll, con) { \
EINA_LIST_FOREACH(con->zones, lll, zone) { \
act; \
} } } } } \
else { \
@ -2367,12 +2358,10 @@ static void
_delayed_action_key_del(E_Object *obj, const char *params, Ecore_Event_Key *ev)
{
Eina_List *l;
for (l = _delayed_actions; l; l = l->next)
Delayed_Action *da;
EINA_LIST_FOREACH(_delayed_actions, l, da)
{
Delayed_Action *da;
da = l->data;
if ((da->obj == obj) && (!da->mouse) &&
(!strcmp(da->keyname, ev->keyname)))
{
@ -2406,12 +2395,10 @@ static void
_delayed_action_mouse_del(E_Object *obj, const char *params, Ecore_Event_Mouse_Button *ev)
{
Eina_List *l;
Delayed_Action *da;
for (l = _delayed_actions; l; l = l->next)
EINA_LIST_FOREACH(_delayed_actions, l, da)
{
Delayed_Action *da;
da = l->data;
if ((da->obj == obj) && (da->mouse) &&
(ev->buttons == da->button))
{
@ -2928,7 +2915,6 @@ e_action_predef_label_get(const char *action, const char *params)
{
EINA_LIST_FOREACH(actg->acts, l2, actd)
{
actd = l2->data;
if (!strcmp(actd->act_cmd, action))
{
if ((params) && (actd->act_params))
@ -3002,9 +2988,8 @@ e_action_predef_name_del(const char *act_grp, const char *act_name)
E_Action_Description *actd = NULL;
Eina_List *l;
for (l = action_groups; l; l = l->next)
EINA_LIST_FOREACH(action_groups, l, actg)
{
actg = l->data;
if (!strcmp(actg->act_grp, act_grp))
break;
actg = NULL;
@ -3012,9 +2997,8 @@ e_action_predef_name_del(const char *act_grp, const char *act_name)
if (!actg) return;
for (l = actg->acts; l; l = l->next)
EINA_LIST_FOREACH(actg->acts, l, actd)
{
actd = l->data;
if (!strcmp(actd->act_name, act_name))
{
actg->acts = eina_list_remove(actg->acts, actd);
@ -3043,27 +3027,19 @@ e_action_predef_name_all_del(void)
E_Action_Group *actg = NULL;
E_Action_Description *actd = NULL;
while (action_groups)
EINA_LIST_FREE(action_groups, actg)
{
actg = action_groups->data;
while (actg->acts)
EINA_LIST_FREE(actg->acts, actd)
{
actd = actg->acts->data;
if (actd->act_name) eina_stringshare_del(actd->act_name);
if (actd->act_cmd) eina_stringshare_del(actd->act_cmd);
if (actd->act_params) eina_stringshare_del(actd->act_params);
if (actd->param_example) eina_stringshare_del(actd->param_example);
E_FREE(actd);
actg->acts = eina_list_remove_list(actg->acts, actg->acts);
}
if (actg->act_grp) eina_stringshare_del(actg->act_grp);
E_FREE(actg);
action_groups = eina_list_remove_list(action_groups, action_groups);
}
action_groups = NULL;
}

View File

@ -32,6 +32,7 @@ EAPI int
e_bg_init(void)
{
Eina_List *l = NULL;
E_Config_Desktop_Background *cfbg = NULL;
/* Register mime handler */
bg_hdl = e_fm2_mime_handler_new(_("Set As Background"),
@ -44,11 +45,8 @@ e_bg_init(void)
if (e_config->desktop_default_background)
e_filereg_register(e_config->desktop_default_background);
for (l = e_config->desktop_backgrounds; l; l = l->next)
EINA_LIST_FOREACH(e_config->desktop_backgrounds, l, cfbg)
{
E_Config_Desktop_Background *cfbg;
cfbg = l->data;
if (!cfbg) continue;
e_filereg_register(cfbg->file);
}
@ -61,6 +59,7 @@ EAPI int
e_bg_shutdown(void)
{
Eina_List *l = NULL;
E_Config_Desktop_Background *cfbg = NULL;
/* Deregister mime handler */
if (bg_hdl)
@ -73,11 +72,8 @@ e_bg_shutdown(void)
if (e_config->desktop_default_background)
e_filereg_deregister(e_config->desktop_default_background);
for (l = e_config->desktop_backgrounds; l; l = l->next)
EINA_LIST_FOREACH(e_config->desktop_backgrounds, l, cfbg)
{
E_Config_Desktop_Background *cfbg;
cfbg = l->data;
if (!cfbg) continue;
e_filereg_deregister(cfbg->file);
}
@ -94,19 +90,18 @@ EAPI const E_Config_Desktop_Background *
e_bg_config_get(int container_num, int zone_num, int desk_x, int desk_y)
{
Eina_List *l, *ll, *entries;
E_Config_Desktop_Background *bg = NULL;
E_Config_Desktop_Background *bg = NULL, *cfbg = NULL;
const char *bgfile = "";
char *entry;
int current_spec = 0; /* how specific the setting is - we want the least general one that applies */
/* look for desk specific background. */
if (container_num >= 0 || zone_num >= 0 || desk_x >= 0 || desk_y >= 0)
{
for (l = e_config->desktop_backgrounds; l; l = l->next)
EINA_LIST_FOREACH(e_config->desktop_backgrounds, l, cfbg)
{
E_Config_Desktop_Background *cfbg;
int spec;
cfbg = l->data;
if (!cfbg) continue;
spec = 0;
if (cfbg->container == container_num) spec++;
@ -133,9 +128,9 @@ e_bg_config_get(int container_num, int zone_num, int desk_x, int desk_y)
entries = edje_file_collection_list(bgfile);
if (entries)
{
for (ll = entries; ll; ll = ll->next)
EINA_LIST_FOREACH(entries, ll, entry)
{
if (!strcmp(ll->data, "e/desktop/background"))
if (!strcmp(entry, "e/desktop/background"))
{
bg = cfbg;
current_spec = spec;
@ -154,6 +149,7 @@ e_bg_file_get(int container_num, int zone_num, int desk_x, int desk_y)
const E_Config_Desktop_Background *cfbg;
Eina_List *l, *entries;
const char *bgfile = "";
char *entry;
int ok = 0;
cfbg = e_bg_config_get(container_num, zone_num, desk_x, desk_y);
@ -189,9 +185,9 @@ e_bg_file_get(int container_num, int zone_num, int desk_x, int desk_y)
entries = edje_file_collection_list(bgfile);
if (entries)
{
for (l = entries; l; l = l->next)
EINA_LIST_FOREACH(entries, l, entry)
{
if (!strcmp(l->data, "e/desktop/background"))
if (!strcmp(entry, "e/desktop/background"))
{
ok = 1;
break;
@ -442,13 +438,11 @@ EAPI void
e_bg_del(int container, int zone, int desk_x, int desk_y)
{
Eina_List *l = NULL;
E_Config_Desktop_Background *cfbg = NULL;
E_Event_Bg_Update *ev;
for (l = e_config->desktop_backgrounds; l; l = l->next)
EINA_LIST_FOREACH(e_config->desktop_backgrounds, l, cfbg)
{
E_Config_Desktop_Background *cfbg;
cfbg = l->data;
if (!cfbg) continue;
if ((cfbg->container == container) && (cfbg->zone == zone) &&
(cfbg->desk_x == desk_x) && (cfbg->desk_y == desk_y))
@ -477,15 +471,12 @@ e_bg_update(void)
E_Container *con;
E_Zone *zone;
for (l = e_manager_list(); l; l = l->next)
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
man = l->data;
for (ll = man->containers; ll; ll = ll->next)
EINA_LIST_FOREACH(man->containers, ll, con)
{
con = ll->data;
for (lll = con->zones; lll; lll = lll->next)
EINA_LIST_FOREACH(con->zones, lll, zone)
{
zone = lll->data;
e_zone_bg_reconfigure(zone);
}
}

View File

@ -87,26 +87,11 @@ e_bindings_init(void)
EAPI int
e_bindings_shutdown(void)
{
E_Binding_Signal *binds;
E_Binding_Mouse *bindm;
E_Binding_Wheel *bindw;
E_Binding_Edge *binde;
E_Binding_Key *bindk;
EINA_LIST_FREE(mouse_bindings, bindm)
_e_bindings_mouse_free(bindm);
EINA_LIST_FREE(key_bindings, bindk)
_e_bindings_key_free(bindk);
EINA_LIST_FREE(edge_bindings, binde)
_e_bindings_edge_free(binde);
EINA_LIST_FREE(signal_bindings, binds)
_e_bindings_signal_free(binds);
EINA_LIST_FREE(wheel_bindings, bindw)
_e_bindings_wheel_free(bindw);
E_FREE_LIST(mouse_bindings, _e_bindings_mouse_free);
E_FREE_LIST(key_bindings, _e_bindings_key_free);
E_FREE_LIST(edge_bindings, _e_bindings_edge_free);
E_FREE_LIST(signal_bindings, _e_bindings_signal_free);
E_FREE_LIST(wheel_bindings, _e_bindings_wheel_free);
return 1;
}

View File

@ -701,11 +701,9 @@ e_border_desk_set(E_Border *bd, E_Desk *desk)
if (e_config->transient.desktop)
{
Eina_List *l;
for (l = bd->transients; l; l = l->next)
E_Border *child;
EINA_LIST_FOREACH(bd->transients, l, child)
{
E_Border *child;
child = l->data;
e_border_desk_set(child, bd->desk);
}
}
@ -1207,6 +1205,7 @@ e_border_layer_set(E_Border *bd, int layer)
if (e_config->transient.layer)
{
Eina_List *l;
E_Border *child;
/* We need to set raise to one, else the child wont
* follow to the new layer. It should be like this,
@ -1214,11 +1213,8 @@ e_border_layer_set(E_Border *bd, int layer)
* the transients.
*/
e_config->transient.raise = 1;
for (l = bd->transients; l; l = l->next)
EINA_LIST_FOREACH(bd->transients, l, child)
{
E_Border *child;
child = l->data;
child->layer = layer;
}
}
@ -1230,7 +1226,7 @@ EAPI void
e_border_raise(E_Border *bd)
{
E_Event_Border_Stack *ev;
E_Border *last = NULL;
E_Border *last = NULL, *child;
Eina_List *l;
E_OBJECT_CHECK(bd);
@ -1240,11 +1236,8 @@ e_border_raise(E_Border *bd)
if (e_config->transient.raise)
{
for (l = eina_list_last(bd->transients); l; l = l->prev)
EINA_LIST_REVERSE_FOREACH(bd->transients, l, child)
{
E_Border *child;
child = l->data;
/* Don't stack iconic transients. If the user wants these shown,
* thats another option.
*/
@ -1320,7 +1313,7 @@ EAPI void
e_border_lower(E_Border *bd)
{
E_Event_Border_Stack *ev;
E_Border *last = NULL;
E_Border *last = NULL, *child;
Eina_List *l;
E_OBJECT_CHECK(bd);
@ -1330,11 +1323,8 @@ e_border_lower(E_Border *bd)
if (e_config->transient.lower)
{
for (l = eina_list_last(bd->transients); l; l = l->prev)
EINA_LIST_REVERSE_FOREACH(bd->transients, l, child)
{
E_Border *child;
child = l->data;
/* Don't stack iconic transients. If the user wants these shown,
* thats another option.
*/
@ -1410,7 +1400,7 @@ e_border_stack_above(E_Border *bd, E_Border *above)
{
/* TODO: Should stack above allow the border to change level */
E_Event_Border_Stack *ev;
E_Border *last = NULL;
E_Border *last = NULL, *child;
Eina_List *l;
E_OBJECT_CHECK(bd);
@ -1420,11 +1410,8 @@ e_border_stack_above(E_Border *bd, E_Border *above)
if (e_config->transient.raise)
{
for (l = eina_list_last(bd->transients); l; l = l->prev)
EINA_LIST_REVERSE_FOREACH(bd->transients, l, child)
{
E_Border *child;
child = l->data;
/* Don't stack iconic transients. If the user wants these shown,
* thats another option.
*/
@ -1468,7 +1455,7 @@ e_border_stack_below(E_Border *bd, E_Border *below)
{
/* TODO: Should stack below allow the border to change level */
E_Event_Border_Stack *ev;
E_Border *last = NULL;
E_Border *last = NULL, *child;
Eina_List *l;
E_OBJECT_CHECK(bd);
@ -1478,11 +1465,8 @@ e_border_stack_below(E_Border *bd, E_Border *below)
if (e_config->transient.lower)
{
for (l = eina_list_last(bd->transients); l; l = l->prev)
EINA_LIST_REVERSE_FOREACH(bd->transients, l, child)
{
E_Border *child;
child = l->data;
/* Don't stack iconic transients. If the user wants these shown,
* thats another option.
*/
@ -2457,12 +2441,10 @@ e_border_iconify(E_Border *bd)
if (e_config->transient.iconify)
{
Eina_List *l;
E_Border *child;
for (l = bd->transients; l; l = l->next)
EINA_LIST_FOREACH(bd->transients, l, child)
{
E_Border *child;
child = l->data;
e_border_iconify(child);
}
}
@ -2502,12 +2484,10 @@ e_border_uniconify(E_Border *bd)
if (e_config->transient.iconify)
{
Eina_List *l;
E_Border *child;
for (l = bd->transients; l; l = l->next)
EINA_LIST_FOREACH(bd->transients, l, child)
{
E_Border *child;
child = l->data;
e_border_uniconify(child);
}
}
@ -2530,11 +2510,9 @@ e_border_stick(E_Border *bd)
if (e_config->transient.desktop)
{
Eina_List *l;
for (l = bd->transients; l; l = l->next)
E_Border *child;
EINA_LIST_FOREACH(bd->transients, l, child)
{
E_Border *child;
child = l->data;
child->sticky = 1;
e_hints_window_sticky_set(child, 1);
e_border_show(child);
@ -2566,11 +2544,9 @@ e_border_unstick(E_Border *bd)
if (e_config->transient.desktop)
{
Eina_List *l;
for (l = bd->transients; l; l = l->next)
E_Border *child;
EINA_LIST_FOREACH(bd->transients, l, child)
{
E_Border *child;
child = l->data;
child->sticky = 0;
e_hints_window_sticky_set(child, 0);
}
@ -2668,12 +2644,10 @@ EAPI E_Border *
e_border_find_by_alarm(Ecore_X_Sync_Alarm alarm)
{
Eina_List *l;
for (l = borders; l; l = l->next)
E_Border *bd;
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
if ((bd) && (!e_object_is_del(E_OBJECT(bd))) &&
(bd->client.netwm.sync.alarm == alarm))
return bd;
@ -2691,22 +2665,18 @@ EAPI void
e_border_idler_before(void)
{
Eina_List *ml, *cl;
E_Manager *man;
E_Container *con;
if (!borders)
return;
for (ml = e_manager_list(); ml; ml = ml->next)
EINA_LIST_FOREACH(e_manager_list(), ml, man)
{
E_Manager *man;
man = ml->data;
for (cl = man->containers; cl; cl = cl->next)
EINA_LIST_FOREACH(man->containers, cl, con)
{
E_Container *con;
E_Border_List *bl;
E_Border *bd;
con = cl->data;
// pass 1 - eval0. fetch properties on new or on change and
// call hooks to decide what to do - maybe move/resize
@ -3354,12 +3324,10 @@ EAPI void
e_border_button_bindings_ungrab_all(void)
{
Eina_List *l;
for (l = borders; l; l = l->next)
E_Border *bd;
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
e_focus_setdown(bd);
e_bindings_mouse_ungrab(E_BINDING_CONTEXT_BORDER, bd->win);
e_bindings_wheel_ungrab(E_BINDING_CONTEXT_BORDER, bd->win);
@ -3370,12 +3338,10 @@ EAPI void
e_border_button_bindings_grab_all(void)
{
Eina_List *l;
E_Border *bd;
for (l = borders; l; l = l->next)
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
e_bindings_mouse_grab(E_BINDING_CONTEXT_BORDER, bd->win);
e_bindings_wheel_grab(E_BINDING_CONTEXT_BORDER, bd->win);
e_focus_setup(bd);
@ -3398,15 +3364,13 @@ EAPI Eina_List *
e_border_lost_windows_get(E_Zone *zone)
{
Eina_List *list = NULL, *l;
E_Border *bd;
int loss_overlap = 5;
E_OBJECT_CHECK_RETURN(zone, NULL);
E_OBJECT_TYPE_CHECK_RETURN(zone, E_ZONE_TYPE, NULL);
for (l = borders; l; l = l->next)
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
if (bd->zone)
{
if ((bd->zone == zone) ||
@ -3538,12 +3502,10 @@ EAPI Eina_List *
e_border_immortal_windows_get(void)
{
Eina_List *list = NULL, *l;
E_Border *bd;
for (l = borders; l; l = l->next)
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
if (bd->lock_life)
list = eina_list_append(list, bd);
}
@ -3799,11 +3761,7 @@ _e_border_free(E_Border *bd)
ecore_poller_del(bd->ping_poller);
bd->ping_poller = NULL;
}
while (bd->pending_move_resize)
{
free(bd->pending_move_resize->data);
bd->pending_move_resize = eina_list_remove_list(bd->pending_move_resize, bd->pending_move_resize);
}
E_FREE_LIST(bd->pending_move_resize, free);
if (bd->shade.anim) ecore_animator_del(bd->shade.anim);
if (bd->border_menu) e_menu_deactivate(bd->border_menu);
@ -3930,6 +3888,7 @@ static void
_e_border_del(E_Border *bd)
{
E_Event_Border_Remove *ev;
E_Border *child;
if (bd->fullscreen) bd->desk->fullscreen_borders--;
@ -4000,13 +3959,9 @@ _e_border_del(E_Border *bd)
}
bd->parent = NULL;
}
while (bd->transients)
EINA_LIST_FREE(bd->transients, child)
{
E_Border *child;
child = bd->transients->data;
child->parent = NULL;
bd->transients = eina_list_remove_list(bd->transients, bd->transients);
}
if (bd->leader)
@ -4023,13 +3978,9 @@ _e_border_del(E_Border *bd)
}
bd->leader = NULL;
}
while (bd->group)
EINA_LIST_FREE(bd->group, child)
{
E_Border *child;
child = bd->group->data;
child->leader = NULL;
bd->group = eina_list_remove_list(bd->group, bd->group);
}
}
@ -5043,13 +4994,11 @@ static int
_e_border_cb_efreet_desktop_list_change(void *data, int ev_type, void *ev)
{
Eina_List *l;
E_Border *bd;
/* mark all borders for desktop/icon updates */
for (l = borders; l; l = l->next)
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
if (!bd->desktop)
{
bd->changes.icon = 1;
@ -5066,6 +5015,7 @@ _e_border_cb_efreet_desktop_change(void *data, int ev_type, void *ev)
{
Efreet_Event_Desktop_Change *event;
Eina_List *l;
E_Border *bd;
event = ev;
e_init_status_set(_("Desktop file scan"));
@ -5073,11 +5023,8 @@ _e_border_cb_efreet_desktop_change(void *data, int ev_type, void *ev)
{
case EFREET_DESKTOP_CHANGE_ADD:
/* If a desktop is added, make the borders without icon retry */
for (l = borders; l; l = l->next)
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
if (!bd->desktop)
{
bd->changes.icon = 1;
@ -5087,11 +5034,8 @@ _e_border_cb_efreet_desktop_change(void *data, int ev_type, void *ev)
break;
case EFREET_DESKTOP_CHANGE_REMOVE:
/* If a desktop is removed, drop the .desktop pointer */
for (l = borders; l; l = l->next)
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
if (bd->desktop == event->current)
{
efreet_desktop_free(bd->desktop);
@ -5103,12 +5047,8 @@ _e_border_cb_efreet_desktop_change(void *data, int ev_type, void *ev)
break;
case EFREET_DESKTOP_CHANGE_UPDATE:
/* If a desktop is updated, point to the new desktop and update the icon */
for (l = borders; l; l = l->next)
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
if (bd->desktop == event->previous)
{
efreet_desktop_free(bd->desktop);
@ -5132,13 +5072,11 @@ static int
_e_border_cb_config_icon_theme(void *data, int ev_type, void *ev)
{
Eina_List *l;
E_Border *bd;
/* mark all borders for desktop/icon updates */
for (l = borders; l; l = l->next)
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
bd->changes.icon = 1;
bd->changed = 1;
}
@ -5717,11 +5655,9 @@ _e_border_eval0(E_Border *bd)
else
{
Eina_List *l;
for (l = bd->leader->group; l; l = l->next)
E_Border *child;
EINA_LIST_FOREACH(bd->leader->group, l, child)
{
E_Border *child;
child = l->data;
if ((child != bd) && (child->focused))
e_border_focus_set(bd, 1, 1);
}
@ -6198,11 +6134,9 @@ _e_border_eval0(E_Border *bd)
else
{
Eina_List *l;
for (l = bd->leader->group; l; l = l->next)
E_Border *child;
EINA_LIST_FOREACH(bd->leader->group, l, child)
{
E_Border *child;
child = l->data;
if ((child != bd) && (child->focused))
e_border_focus_set(bd, 1, 1);
}
@ -6669,6 +6603,7 @@ static void
_e_border_eval(E_Border *bd)
{
E_Event_Border_Property *event;
E_Border_Pending_Move_Resize *pnd;
int rem_change = 0;
int send_event = 1;
int zx, zy, zw, zh;
@ -6805,11 +6740,8 @@ _e_border_eval(E_Border *bd)
}
}
}
while (bd->pending_move_resize)
EINA_LIST_FREE(bd->pending_move_resize, pnd)
{
E_Border_Pending_Move_Resize *pnd;
pnd = bd->pending_move_resize->data;
if ((!bd->lock_client_location) && (pnd->move))
{
bd->x = pnd->x;
@ -6831,8 +6763,6 @@ _e_border_eval(E_Border *bd)
bd->changes.size = 1;
}
free(pnd);
bd->pending_move_resize = eina_list_remove_list(bd->pending_move_resize,
bd->pending_move_resize);
}
/* Recreate state */
@ -7954,6 +7884,7 @@ _e_border_zone_update(E_Border *bd)
{
E_Container *con;
Eina_List *l;
E_Zone *zone;
/* still within old zone - leave it there */
if (E_INTERSECTS(bd->x, bd->y, bd->w, bd->h,
@ -7961,11 +7892,8 @@ _e_border_zone_update(E_Border *bd)
return;
/* find a new zone */
con = bd->zone->container;
for (l = con->zones; l; l = l->next)
EINA_LIST_FOREACH(con->zones, l, zone)
{
E_Zone *zone;
zone = l->data;
if (E_INTERSECTS(bd->x, bd->y, bd->w, bd->h,
zone->x, zone->y, zone->w, zone->h))
{
@ -8284,18 +8212,14 @@ static int _e_border_hooks_walking = 0;
static void
_e_border_hooks_clean(void)
{
Eina_List *l, *pl;
Eina_List *l, *ln;
E_Border_Hook *bh;
for (l = _e_border_hooks; l;)
EINA_LIST_FOREACH_SAFE(_e_border_hooks, l, ln, bh)
{
E_Border_Hook *bh;
bh = l->data;
pl = l;
l = l->next;
if (bh->delete_me)
{
_e_border_hooks = eina_list_remove_list(_e_border_hooks, pl);
_e_border_hooks = eina_list_remove_list(_e_border_hooks, l);
free(bh);
}
}
@ -8305,13 +8229,11 @@ static void
_e_border_hook_call(E_Border_Hook_Point hookpoint, void *bd)
{
Eina_List *l;
E_Border_Hook *bh;
_e_border_hooks_walking++;
for (l = _e_border_hooks; l; l = l->next)
EINA_LIST_FOREACH(_e_border_hooks, l, bh)
{
E_Border_Hook *bh;
bh = l->data;
if (bh->delete_me) continue;
if (bh->hookpoint == hookpoint) bh->func(bh->data, bd);
}
@ -8362,7 +8284,7 @@ e_border_focus_track_thaw(void)
EAPI E_Border *
e_border_under_pointer_get(E_Desk *desk, E_Border *exclude)
{
E_Border *bd = NULL;
E_Border *bd = NULL, *cbd;
Eina_List *l;
int x, y;
@ -8376,11 +8298,8 @@ e_border_under_pointer_get(E_Desk *desk, E_Border *exclude)
else
return NULL;
for (l = e_border_raise_stack_get(); l; l = l->next)
EINA_LIST_FOREACH(e_border_raise_stack_get(), l, cbd)
{
E_Border *cbd;
cbd = l->data;
if (!cbd) continue;
/* If a border was specified which should be excluded from the list
* (because it will be closed shortly for example), skip */

View File

@ -164,15 +164,17 @@ e_box_pack_before(Evas_Object *obj, Evas_Object *child, Evas_Object *before)
E_Smart_Data *sd;
int i = 0;
Eina_List *l;
Evas_Object *item;
if (!child) return 0;
sd = evas_object_smart_data_get(obj);
if (!sd) return 0;
_e_box_smart_adopt(sd, child);
sd->items = eina_list_prepend_relative(sd->items, child, before);
for (i = 0, l = sd->items; l; l = l->next, i++)
EINA_LIST_FOREACH(sd->items, l, item)
{
if (l->data == child) break;
if (item == child) break;
i++;
}
sd->changed = 1;
if (sd->frozen <= 0) _e_box_smart_reconfigure(sd);
@ -185,15 +187,17 @@ e_box_pack_after(Evas_Object *obj, Evas_Object *child, Evas_Object *after)
E_Smart_Data *sd;
int i = 0;
Eina_List *l;
Evas_Object *item;
if (!child) return 0;
sd = evas_object_smart_data_get(obj);
if (!sd) return 0;
_e_box_smart_adopt(sd, child);
sd->items = eina_list_append_relative(sd->items, child, after);
for (i = 0, l = sd->items; l; l = l->next, i++)
EINA_LIST_FOREACH(sd->items, l, item)
{
if (l->data == child) break;
if (item == child) break;
i++;
}
sd->changed = 1;
if (sd->frozen <= 0) _e_box_smart_reconfigure(sd);
@ -405,6 +409,7 @@ _e_box_smart_reconfigure(E_Smart_Data *sd)
{
Evas_Coord x, y, w, h, xx, yy;
Eina_List *l;
Evas_Object *obj;
int minw, minh, wdif, hdif;
int count, expand;
@ -430,12 +435,9 @@ _e_box_smart_reconfigure(E_Smart_Data *sd)
y = y + ((h - minh) * (1.0 - sd->align.y));
h = minh;
}
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Box_Item *bi;
Evas_Object *obj;
obj = l->data;
bi = evas_object_data_get(obj, "e_box_data");
if (bi)
{
@ -466,12 +468,10 @@ _e_box_smart_reconfigure(E_Smart_Data *sd)
hdif = h - minh;
xx = x;
yy = y;
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Box_Item *bi;
Evas_Object *obj;
obj = l->data;
bi = evas_object_data_get(obj, "e_box_data");
if (bi)
{
@ -578,6 +578,7 @@ static void
_e_box_smart_extents_calculate(E_Smart_Data *sd)
{
Eina_List *l;
Evas_Object *obj;
int minw, minh;
/* FIXME: need to calc max */
@ -588,12 +589,10 @@ _e_box_smart_extents_calculate(E_Smart_Data *sd)
minh = 0;
if (sd->homogenous)
{
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Box_Item *bi;
Evas_Object *obj;
obj = l->data;
bi = evas_object_data_get(obj, "e_box_data");
if (bi)
{
@ -608,12 +607,10 @@ _e_box_smart_extents_calculate(E_Smart_Data *sd)
}
else
{
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Box_Item *bi;
Evas_Object *obj;
obj = l->data;
bi = evas_object_data_get(obj, "e_box_data");
if (bi)
{
@ -698,7 +695,7 @@ _e_box_smart_del(Evas_Object *obj)
{
Evas_Object *child;
child = sd->items->data;
child = eina_list_data_get(sd->items);
e_box_unpack(child);
}
e_box_thaw(obj);
@ -718,16 +715,17 @@ _e_box_smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
if ((x == sd->x) && (y == sd->y)) return;
{
Eina_List *l;
Evas_Object *item;
Evas_Coord dx, dy;
dx = x - sd->x;
dy = y - sd->y;
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, item)
{
Evas_Coord ox, oy;
evas_object_geometry_get(l->data, &ox, &oy, NULL, NULL);
evas_object_move(l->data, ox + dx, oy + dy);
evas_object_geometry_get(item, &ox, &oy, NULL, NULL);
evas_object_move(item, ox + dx, oy + dy);
}
}
sd->x = x;

View File

@ -80,13 +80,12 @@ EAPI void
e_canvas_recache(void)
{
Eina_List *l;
for (l = _e_canvases; l; l = l->next)
Ecore_Evas *ee;
EINA_LIST_FOREACH(_e_canvases, l, ee)
{
Ecore_Evas *ee;
Evas *e;
ee = l->data;
e = ecore_evas_get(ee);
evas_image_cache_set(e, e_config->image_cache * 1024);
evas_font_cache_set(e, e_config->font_cache * 1024);
@ -111,13 +110,12 @@ EAPI void
e_canvas_cache_flush(void)
{
Eina_List *l;
for (l = _e_canvases; l; l = l->next)
Ecore_Evas *ee;
EINA_LIST_FOREACH(_e_canvases, l, ee)
{
Ecore_Evas *ee;
Evas *e;
ee = l->data;
e = ecore_evas_get(ee);
evas_image_cache_flush(e);
evas_font_cache_flush(e);
@ -130,13 +128,12 @@ EAPI void
e_canvas_cache_reload(void)
{
Eina_List *l;
for (l = _e_canvases; l; l = l->next)
Ecore_Evas *ee;
EINA_LIST_FOREACH(_e_canvases, l, ee)
{
Ecore_Evas *ee;
Evas *e;
ee = l->data;
e = ecore_evas_get(ee);
evas_image_cache_reload(e);
}
@ -146,13 +143,12 @@ EAPI void
e_canvas_idle_flush(void)
{
Eina_List *l;
for (l = _e_canvases; l; l = l->next)
Ecore_Evas *ee;
EINA_LIST_FOREACH(_e_canvases, l, ee)
{
Ecore_Evas *ee;
Evas *e;
ee = l->data;
e = ecore_evas_get(ee);
evas_render_idle_flush(e);
}
@ -162,13 +158,12 @@ EAPI void
e_canvas_rehint(void)
{
Eina_List *l;
for (l = _e_canvases; l; l = l->next)
Ecore_Evas *ee;
EINA_LIST_FOREACH(_e_canvases, l, ee)
{
Ecore_Evas *ee;
Evas *e;
ee = l->data;
e = ecore_evas_get(ee);
if (e_config->font_hinting == 0)
evas_font_hinting_set(e, EVAS_FONT_HINTING_BYTECODE);

View File

@ -7,12 +7,10 @@ EAPI int
e_color_class_init(void)
{
Eina_List *l;
E_Color_Class *cc;
for (l = e_config->color_classes; l; l = l->next)
EINA_LIST_FOREACH(e_config->color_classes, l, cc)
{
E_Color_Class *cc;
cc = l->data;
if (!cc) continue;
printf("INIT CC: %s, %d %d %d %d\n", cc->name, cc->r, cc->g, cc->b, cc->a);
@ -90,9 +88,8 @@ e_color_class_find(const char *name)
Eina_List *l;
E_Color_Class *cc = NULL;
for (l = e_config->color_classes; l; l = l->next)
EINA_LIST_FOREACH(e_config->color_classes, l, cc)
{
cc = l->data;
if (!cc) continue;
if (!strcmp(cc->name, name))

View File

@ -1303,8 +1303,6 @@ e_config_domain_load(const char *domain, E_Config_DD *edd)
for (i =1; i <= _e_config_revisions; i++)
{
char buf2[4096];
e_user_dir_snprintf(buf, sizeof(buf), "config/%s/%s.%i.cfg",
_e_config_profile, domain, i);
ef = eet_open(buf, EET_FILE_MODE_READ);
@ -1450,12 +1448,10 @@ EAPI E_Config_Binding_Mouse *
e_config_binding_mouse_match(E_Config_Binding_Mouse *eb_in)
{
Eina_List *l;
for (l = e_config->mouse_bindings; l; l = l->next)
E_Config_Binding_Mouse *eb;
EINA_LIST_FOREACH(e_config->mouse_bindings, l, eb)
{
E_Config_Binding_Mouse *eb;
eb = l->data;
if ((eb->context == eb_in->context) &&
(eb->button == eb_in->button) &&
(eb->modifiers == eb_in->modifiers) &&
@ -1473,12 +1469,10 @@ EAPI E_Config_Binding_Key *
e_config_binding_key_match(E_Config_Binding_Key *eb_in)
{
Eina_List *l;
E_Config_Binding_Key *eb;
for (l = e_config->key_bindings; l; l = l->next)
EINA_LIST_FOREACH(e_config->mouse_bindings, l, eb)
{
E_Config_Binding_Key *eb;
eb = l->data;
if ((eb->context == eb_in->context) &&
(eb->modifiers == eb_in->modifiers) &&
(eb->any_mod == eb_in->any_mod) &&
@ -1497,12 +1491,10 @@ EAPI E_Config_Binding_Edge *
e_config_binding_edge_match(E_Config_Binding_Edge *eb_in)
{
Eina_List *l;
E_Config_Binding_Edge *eb;
for (l = e_config->edge_bindings; l; l = l->next)
EINA_LIST_FOREACH(e_config->edge_bindings, l, eb)
{
E_Config_Binding_Edge *eb;
eb = l->data;
if ((eb->context == eb_in->context) &&
(eb->modifiers == eb_in->modifiers) &&
(eb->any_mod == eb_in->any_mod) &&
@ -1521,12 +1513,10 @@ EAPI E_Config_Binding_Signal *
e_config_binding_signal_match(E_Config_Binding_Signal *eb_in)
{
Eina_List *l;
E_Config_Binding_Signal *eb;
for (l = e_config->signal_bindings; l; l = l->next)
EINA_LIST_FOREACH(e_config->signal_bindings, l, eb)
{
E_Config_Binding_Signal *eb;
eb = l->data;
if ((eb->context == eb_in->context) &&
(eb->modifiers == eb_in->modifiers) &&
(eb->any_mod == eb_in->any_mod) &&
@ -1547,12 +1537,10 @@ EAPI E_Config_Binding_Wheel *
e_config_binding_wheel_match(E_Config_Binding_Wheel *eb_in)
{
Eina_List *l;
for (l = e_config->wheel_bindings; l; l = l->next)
E_Config_Binding_Wheel *eb;
EINA_LIST_FOREACH(e_config->wheel_bindings, l, eb)
{
E_Config_Binding_Wheel *eb;
eb = l->data;
if ((eb->context == eb_in->context) &&
(eb->direction == eb_in->direction) &&
(eb->z == eb_in->z) &&

View File

@ -83,10 +83,8 @@ e_config_dialog_find(const char *name, const char *class)
Eina_List *l;
E_Config_Dialog *cfd;
for (l = _e_config_dialog_list; l; l = l->next)
EINA_LIST_FOREACH(_e_config_dialog_list, l, cfd)
{
cfd = l->data;
if ((!e_util_strcmp(name, cfd->name)) &&
(!e_util_strcmp(class, cfd->class)))
{
@ -116,12 +114,11 @@ EAPI E_Config_Dialog *
e_config_dialog_get(const char *name, const char *class)
{
Eina_List *l;
E_Config_Dialog *cfd;
for (l = _e_config_dialog_list; l; l = l->next)
EINA_LIST_FOREACH(_e_config_dialog_list, l, cfd)
{
E_Config_Dialog *cfd;
if (!(cfd = l->data)) continue;
if (!cfd) continue;
if ((!e_util_strcmp(name, cfd->name)) &&
(!e_util_strcmp(class, cfd->class)))
{

View File

@ -51,11 +51,7 @@ e_container_init(void)
EAPI int
e_container_shutdown(void)
{
while (handlers)
{
ecore_event_handler_del(handlers->data);
handlers = eina_list_remove_list(handlers, handlers);
}
E_FREE_LIST(handlers, ecore_event_handler_del);
return 1;
}
@ -159,11 +155,9 @@ e_container_new(E_Manager *man)
screens = (Eina_List *)e_xinerama_screens_get();
if (screens)
{
for (l = screens; l; l = l->next)
E_Screen *scr;
EINA_LIST_FOREACH(screens, l, scr)
{
E_Screen *scr;
scr = l->data;
zone = e_zone_new(con, scr->screen, scr->escreen, scr->x, scr->y, scr->w, scr->h);
}
}
@ -208,35 +202,32 @@ EAPI E_Container *
e_container_current_get(E_Manager *man)
{
Eina_List *l;
E_Container *con;
E_OBJECT_CHECK_RETURN(man, NULL);
E_OBJECT_TYPE_CHECK_RETURN(man, E_MANAGER_TYPE, NULL);
for (l = man->containers; l; l = l->next)
EINA_LIST_FOREACH(man->containers, l, con)
{
E_Container *con;
if (!(con = l->data)) continue;
if (!con) continue;
if (con->visible) return con;
}
/* If noone is available, return the first */
if (!man->containers) return NULL;
l = man->containers;
return (E_Container *)l->data;
return (E_Container *)eina_list_data_get(l);
}
EAPI E_Container *
e_container_number_get(E_Manager *man, int num)
{
Eina_List *l;
E_Container *con;
E_OBJECT_CHECK_RETURN(man, NULL);
E_OBJECT_TYPE_CHECK_RETURN(man, E_MANAGER_TYPE, NULL);
for (l = man->containers; l; l = l->next)
EINA_LIST_FOREACH(man->containers, l, con)
{
E_Container *con;
con = l->data;
if (con->num == num) return con;
}
return NULL;
@ -306,14 +297,12 @@ EAPI E_Zone *
e_container_zone_at_point_get(E_Container *con, int x, int y)
{
Eina_List *l = NULL;
E_Zone *zone = NULL;
E_OBJECT_CHECK_RETURN(con, NULL);
E_OBJECT_TYPE_CHECK_RETURN(con, E_CONTAINER_TYPE, NULL);
for (l = con->zones; l; l = l->next)
EINA_LIST_FOREACH(con->zones, l, zone)
{
E_Zone *zone;
zone = l->data;
if (E_INSIDE(x, y, zone->x, zone->y, zone->w, zone->h))
return zone;
}
@ -324,14 +313,12 @@ EAPI E_Zone *
e_container_zone_number_get(E_Container *con, int num)
{
Eina_List *l = NULL;
E_Zone *zone = NULL;
E_OBJECT_CHECK_RETURN(con, NULL);
E_OBJECT_TYPE_CHECK_RETURN(con, E_CONTAINER_TYPE, NULL);
for (l = con->zones; l; l = l->next)
EINA_LIST_FOREACH(con->zones, l, zone)
{
E_Zone *zone;
zone = l->data;
if (zone->num == num) return zone;
}
return NULL;
@ -341,14 +328,12 @@ EAPI E_Zone *
e_container_zone_id_get(E_Container *con, int id)
{
Eina_List *l = NULL;
E_Zone *zone = NULL;
E_OBJECT_CHECK_RETURN(con, NULL);
E_OBJECT_TYPE_CHECK_RETURN(con, E_CONTAINER_TYPE, NULL);
for (l = con->zones; l; l = l->next)
EINA_LIST_FOREACH(con->zones, l, zone)
{
E_Zone *zone;
zone = l->data;
if (zone->id == id) return zone;
}
return NULL;
@ -459,15 +444,13 @@ EAPI void
e_container_shape_change_callback_del(E_Container *con, void (*func) (void *data, E_Container_Shape *es, E_Container_Shape_Change ch), void *data)
{
Eina_List *l = NULL;
E_Container_Shape_Callback *cb = NULL;
/* FIXME: if we call this from within a callback we are in trouble */
E_OBJECT_CHECK(con);
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
for (l = con->shape_change_cb; l; l = l->next)
EINA_LIST_FOREACH(con->shape_change_cb, l, cb)
{
E_Container_Shape_Callback *cb;
cb = l->data;
if ((cb->func == func) && (cb->data == data))
{
con->shape_change_cb = eina_list_remove_list(con->shape_change_cb, l);
@ -488,7 +471,6 @@ e_container_shape_rects_get(E_Container_Shape *es)
EAPI void
e_container_shape_rects_set(E_Container_Shape *es, Ecore_X_Rectangle *rects, int num)
{
Eina_List *l = NULL;
int i;
E_Rect *r;
@ -496,9 +478,7 @@ e_container_shape_rects_set(E_Container_Shape *es, Ecore_X_Rectangle *rects, int
E_OBJECT_TYPE_CHECK(es, E_CONTAINER_SHAPE_TYPE);
if (es->shape)
{
for (l = es->shape; l; l = l->next)
free(l->data);
eina_list_free(es->shape);
E_FREE_LIST(es->shape, free);
es->shape = NULL;
}
if ((rects) && (num == 1) &&
@ -668,8 +648,8 @@ e_container_border_raise(E_Border *bd)
/* Find the window below this one */
l = eina_list_data_find_list(bd->zone->container->layers[pos].clients, bd);
if (l->prev)
above = l->prev->data;
if (eina_list_prev(l))
above = eina_list_data_get(eina_list_prev(l));
else
{
/* Need to check the layers below */
@ -678,7 +658,7 @@ e_container_border_raise(E_Border *bd)
if ((bd->zone->container->layers[i].clients) &&
(l = eina_list_last(bd->zone->container->layers[i].clients)))
{
above = l->data;
above = eina_list_data_get(l);
break;
}
}
@ -722,8 +702,8 @@ e_container_border_lower(E_Border *bd)
/* Find the window above this one */
l = eina_list_data_find_list(bd->zone->container->layers[pos].clients, bd);
if (l->next)
below = l->next->data;
if (eina_list_next(l))
below = eina_list_data_get(eina_list_next(l));
else
{
/* Need to check the layers above */
@ -731,7 +711,7 @@ e_container_border_lower(E_Border *bd)
{
if (bd->zone->container->layers[i].clients)
{
below = bd->zone->container->layers[i].clients->data;
below = eina_list_data_get(bd->zone->container->layers[i].clients);
break;
}
}
@ -849,9 +829,9 @@ e_container_border_list_next(E_Border_List *list)
if (!list->clients) return NULL;
bd = list->clients->data;
bd = eina_list_data_get(list->clients);
list->clients = list->clients->next;
list->clients = eina_list_next(list->clients);
while ((list->layer < 6) && (!list->clients))
list->clients = list->container->layers[++list->layer].clients;
return bd;
@ -864,9 +844,9 @@ e_container_border_list_prev(E_Border_List *list)
if (!list->clients) return NULL;
bd = list->clients->data;
bd = eina_list_data_get(list->clients);
list->clients = list->clients->prev;
list->clients = eina_list_prev(list->clients);
while ((list->layer > 0) && (!list->clients))
{
list->layer--;
@ -886,20 +866,14 @@ e_container_border_list_free(E_Border_List *list)
EAPI void
e_container_all_freeze(void)
{
Eina_List *managers, *l;
Eina_List *l, *ll;
E_Manager *man;
E_Container *con;
managers = e_manager_list();
for (l = managers; l; l = l->next)
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
Eina_List *ll;
E_Manager *man;
man = l->data;
for (ll = man->containers; ll; ll = ll->next)
EINA_LIST_FOREACH(man->containers, ll, con)
{
E_Container *con;
con = ll->data;
evas_event_freeze(con->bg_evas);
}
}
@ -908,20 +882,14 @@ e_container_all_freeze(void)
EAPI void
e_container_all_thaw(void)
{
Eina_List *managers, *l;
Eina_List *l, *ll;
E_Manager *man;
E_Container *con;
managers = e_manager_list();
for (l = managers; l; l = l->next)
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
Eina_List *ll;
E_Manager *man;
man = l->data;
for (ll = man->containers; ll; ll = ll->next)
EINA_LIST_FOREACH(man->containers, ll, con)
{
E_Container *con;
con = ll->data;
evas_event_thaw(con->bg_evas);
}
}
@ -944,21 +912,15 @@ _e_container_free(E_Container *con)
for (i = 0; i < 7; i++)
{
for (l = con->layers[i].clients; l;)
EINA_LiST_FOREACH(con->layers[i].clients, l, tmp)
{
tmp = l;
l = l->next;
e_object_free(E_OBJECT(tmp->data));
e_object_free(E_OBJECT(tmp));
}
}
*/
l = con->zones;
con->zones = NULL;
while (l)
{
e_object_del(E_OBJECT(l->data));
l = eina_list_remove_list(l, l);
}
E_FREE_LIST(l, e_object_del);
con->manager->containers = eina_list_remove(con->manager->containers, con);
e_canvas_del(con->bg_ecore_evas);
ecore_evas_free(con->bg_ecore_evas);
@ -973,20 +935,14 @@ _e_container_free(E_Container *con)
static E_Container *
_e_container_find_by_event_window(Ecore_X_Window win)
{
Eina_List *managers, *l;
Eina_List *l, *ll;
E_Manager *man;
E_Container *con;
managers = e_manager_list();
for (l = managers; l; l = l->next)
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
Eina_List *ll;
E_Manager *man;
man = l->data;
for (ll = man->containers; ll; ll = ll->next)
EINA_LIST_FOREACH(man->containers, ll, con)
{
E_Container *con;
con = ll->data;
if (con->event_win == win) return con;
}
}
@ -1115,12 +1071,8 @@ _e_container_shape_del(E_Container_Shape *es)
static void
_e_container_shape_free(E_Container_Shape *es)
{
Eina_List *l = NULL;
es->con->shapes = eina_list_remove(es->con->shapes, es);
for (l = es->shape; l; l = l->next)
free(l->data);
eina_list_free(es->shape);
E_FREE_LIST(es->shape, free);
free(es);
}
@ -1128,13 +1080,12 @@ static void
_e_container_shape_change_call(E_Container_Shape *es, E_Container_Shape_Change ch)
{
Eina_List *l = NULL;
E_Container_Shape_Callback *cb = NULL;
if ((!es) || (!es->con) || (!es->con->shape_change_cb)) return;
for (l = es->con->shape_change_cb; l; l = l->next)
EINA_LIST_FOREACH(es->con->shape_change_cb, l, cb)
{
E_Container_Shape_Callback *cb;
if (!(cb = l->data)) continue;
if (!cb) continue;
cb->func(cb->data, es, ch);
}
}
@ -1144,6 +1095,8 @@ _e_container_resize_handle(E_Container *con)
{
E_Event_Container_Resize *ev;
Eina_List *l, *screens, *zones = NULL;
E_Zone *zone;
E_Screen *scr;
int i;
ev = calloc(1, sizeof(E_Event_Container_Resize));
@ -1155,14 +1108,10 @@ _e_container_resize_handle(E_Container *con)
if (screens)
{
for (l = con->zones; l; l = l->next)
zones = eina_list_append(zones, l->data);
for (l = screens; l; l = l->next)
EINA_LIST_FOREACH(con->zones, l, zone)
zones = eina_list_append(zones, zone);
EINA_LIST_FOREACH(screens, l, scr)
{
E_Screen *scr;
E_Zone *zone;
scr = l->data;
zone = e_container_zone_id_get(con, scr->escreen);
if (zone)
{
@ -1173,14 +1122,12 @@ _e_container_resize_handle(E_Container *con)
else
{
Eina_List *ll;
E_Config_Shelf *cf_es;
zone = e_zone_new(con, scr->screen, scr->escreen, scr->x, scr->y, scr->w, scr->h);
/* find any shelves configured for this zone and add them in */
for (ll = e_config->shelves; ll; ll = ll->next)
EINA_LIST_FOREACH(e_config->shelves, ll, cf_es)
{
E_Config_Shelf *cf_es;
cf_es = ll->data;
if (e_util_container_zone_id_get(cf_es->container, cf_es->zone) == zone)
e_shelf_config_new(zone, cf_es);
}
@ -1191,37 +1138,28 @@ _e_container_resize_handle(E_Container *con)
E_Zone *spare_zone = NULL;
Eina_List *ll;
for (ll = con->zones; ll; ll = ll->next)
EINA_LIST_FOREACH(con->zones, ll, spare_zone)
{
spare_zone = ll->data;
if (eina_list_data_find(zones, spare_zone))
spare_zone = NULL;
else break;
}
while (zones)
EINA_LIST_FREE(zones, zone)
{
E_Zone *zone;
Eina_List *shelves, *ll, *del_shelves;
E_Shelf *es;
E_Border_List *bl;
E_Border *bd;
zone = zones->data;
/* delete any shelves on this zone */
shelves = e_shelf_list();
del_shelves = NULL;
for (ll = shelves; ll; ll = ll->next)
EINA_LIST_FOREACH(shelves, ll, es)
{
E_Shelf *es;
es = ll->data;
if (es->zone == zone)
del_shelves = eina_list_append(del_shelves, es);
}
while (del_shelves)
{
e_object_del(E_OBJECT(del_shelves->data));
del_shelves = eina_list_remove_list(del_shelves, del_shelves);
}
E_FREE_LIST(del_shelves, e_object_del);
bl = e_container_border_list_first(zone->container);
while ((bd = e_container_border_list_next(bl)))
{
@ -1236,7 +1174,6 @@ _e_container_resize_handle(E_Container *con)
}
e_container_border_list_free(bl);
e_object_del(E_OBJECT(zone));
zones = eina_list_remove_list(zones, zones);
}
}
}
@ -1254,17 +1191,15 @@ _e_container_resize_handle(E_Container *con)
for (i = 0; i < 7; i++)
{
Eina_List *tmp = NULL;
E_Border *bd;
/* Make temporary list as e_border_res_change_geometry_restore
* rearranges the order. */
for (l = con->layers[i].clients; l; l = l->next)
tmp = eina_list_append(tmp, l->data);
EINA_LIST_FOREACH(con->layers[i].clients, l, bd)
tmp = eina_list_append(tmp, bd);
for (l = tmp; l; l = l->next)
EINA_LIST_FOREACH(tmp, l, bd)
{
E_Border *bd;
bd = l->data;
e_border_res_change_geometry_save(bd);
e_border_res_change_geometry_restore(bd);
}

View File

@ -49,6 +49,7 @@ e_desk_new(E_Zone *zone, int x, int y)
{
E_Desk *desk;
Eina_List *l;
E_Config_Desktop_Name *cfname;
char name[40];
int ok;
@ -64,11 +65,8 @@ e_desk_new(E_Zone *zone, int x, int y)
/* Get current desktop's name */
ok = 0;
for (l = e_config->desktop_names; l; l = l->next)
EINA_LIST_FOREACH(e_config->desktop_names, l, cfname)
{
E_Config_Desktop_Name *cfname;
cfname = l->data;
if ((cfname->container >= 0) &&
(zone->container->num != cfname->container)) continue;
if ((cfname->zone >= 0) &&
@ -125,12 +123,10 @@ EAPI void
e_desk_name_del(int container, int zone, int desk_x, int desk_y)
{
Eina_List *l = NULL;
E_Config_Desktop_Name *cfname = NULL;
for (l = e_config->desktop_names; l; l = l->next)
EINA_LIST_FOREACH(e_config->desktop_names, l, cfname)
{
E_Config_Desktop_Name *cfname;
cfname = l->data;
if ((cfname->container == container) && (cfname->zone == zone) &&
(cfname->desk_x == desk_x) && (cfname->desk_y == desk_y))
{
@ -151,18 +147,16 @@ e_desk_name_update(void)
E_Container *con;
E_Zone *zone;
E_Desk *desk;
E_Config_Desktop_Name *cfname;
int d_x, d_y, ok;
char name[40];
for (m = e_manager_list(); m; m = m->next)
EINA_LIST_FOREACH(e_manager_list(), m, man)
{
man = m->data;
for (c = man->containers; c; c = c->next)
EINA_LIST_FOREACH(man->containers, c, con)
{
con = c->data;
for (z = con->zones; z; z = z->next)
EINA_LIST_FOREACH(con->zones, z, zone)
{
zone = z->data;
for (d_x = 0; d_x < zone->desk_x_count; d_x++)
{
for (d_y = 0; d_y < zone->desk_y_count; d_y++)
@ -170,11 +164,8 @@ e_desk_name_update(void)
desk = zone->desks[d_x + zone->desk_x_count * d_y];
ok = 0;
for (l = e_config->desktop_names; l; l = l->next)
EINA_LIST_FOREACH(e_config->desktop_names, l, cfname)
{
E_Config_Desktop_Name *cfname;
cfname = l->data;
if ((cfname->container >= 0) &&
(con->num != cfname->container)) continue;
if ((cfname->zone >= 0) &&
@ -209,6 +200,7 @@ e_desk_show(E_Desk *desk)
E_Event_Desk_Before_Show *eev;
E_Event_Desk_After_Show *eeev;
Eina_List *l;
E_Shelf *es;
int was_zone = 0, x, y, dx = 0, dy = 0, prev_x = 0, prev_y = 0;
E_OBJECT_CHECK(desk);
@ -288,15 +280,14 @@ e_desk_show(E_Desk *desk)
e_object_ref(E_OBJECT(desk));
ecore_event_add(E_EVENT_DESK_SHOW, ev, _e_border_event_desk_show_free, NULL);
for (l = e_shelf_list(); l; l = l->next)
EINA_LIST_FOREACH(e_shelf_list(), l, es)
{
Eina_List *ll;
E_Shelf *es;
E_Config_Shelf *cf_es;
E_Zone *zone;
E_Config_Shelf_Desk *sd;
int show_shelf=0;
es = l->data;
if (!es) continue;
if (!es->cfg->desk_show_mode) continue;
cf_es = es->cfg;
@ -305,11 +296,8 @@ e_desk_show(E_Desk *desk)
zone = e_util_zone_current_get(e_manager_current_get());
if (cf_es->zone != zone->num) continue;
for (ll = es->cfg->desk_list; ll; ll = ll->next)
EINA_LIST_FOREACH(es->cfg->desk_list, ll, sd)
{
E_Config_Shelf_Desk *sd;
sd = ll->data;
if (!sd) continue;
if ((desk->x == sd->x) && (desk->y == sd->y))
{
@ -382,9 +370,8 @@ e_desk_last_focused_focus(E_Desk *desk)
Eina_List *l = NULL;
E_Border *bd;
for (l = e_border_focus_stack_get(); l; l = l->next)
EINA_LIST_FOREACH(e_border_focus_stack_get(), l, bd)
{
bd = l->data;
if ((!bd->iconic) && (bd->visible) && (bd->desk == desk) &&
(bd->client.icccm.accepts_focus || bd->client.icccm.take_focus) &&
(bd->client.netwm.type != ECORE_X_WINDOW_TYPE_DOCK) &&

View File

@ -150,6 +150,7 @@ EAPI int
e_desklock_show(void)
{
Eina_List *managers, *l, *l2, *l3;
E_Manager *man;
E_Desklock_Popup_Data *edp;
Evas_Coord mw, mh;
E_Zone *current_zone;
@ -204,13 +205,11 @@ e_desklock_show(void)
managers = e_manager_list();
if (!e_grabinput_get(edd->elock_wnd, 0, edd->elock_wnd))
{
for (l = managers; l; l = l->next)
EINA_LIST_FOREACH(managers, l, man)
{
E_Manager *man;
Ecore_X_Window *windows;
int wnum;
man = l->data;
windows = ecore_x_window_children_get(man->root, &wnum);
if (windows)
{
@ -254,21 +253,14 @@ e_desklock_show(void)
zone_counter = 0;
total_zone_num = _e_desklock_zone_num_get();
for (l = managers; l; l = l->next)
EINA_LIST_FOREACH(managers, l, man)
{
E_Manager *man;
man = l->data;
for (l2 = man->containers; l2; l2 = l2->next)
E_Container *con;
EINA_LIST_FOREACH(man->containers, l2, con)
{
E_Container *con;
con = l2->data;
for (l3 = con->zones; l3; l3 = l3->next)
E_Zone *zone;
EINA_LIST_FOREACH(con->zones, l3, zone)
{
E_Zone *zone;
zone = l3->data;
edp = E_NEW(E_Desklock_Popup_Data, 1);
if (edp)
{
@ -413,10 +405,9 @@ e_desklock_hide(void)
if (edd->elock_grab_break_wnd)
ecore_x_window_show(edd->elock_grab_break_wnd);
while (edd->elock_wnd_list)
EINA_LIST_FREE(edd->elock_wnd_list, edp)
{
edp = edd->elock_wnd_list->data;
if (edp)
{
e_popup_hide(edp->popup_wnd);
@ -429,14 +420,9 @@ e_desklock_hide(void)
e_util_defer_object_del(E_OBJECT(edp->popup_wnd));
E_FREE(edp);
}
edd->elock_wnd_list = eina_list_remove_list(edd->elock_wnd_list, edd->elock_wnd_list);
}
while (edd->handlers)
{
ecore_event_handler_del(edd->handlers->data);
edd->handlers = eina_list_remove_list(edd->handlers, edd->handlers);
}
E_FREE_LIST(edd->handlers, ecore_event_handler_del);
e_grabinput_release(edd->elock_wnd, edd->elock_wnd);
ecore_x_window_free(edd->elock_wnd);
@ -533,10 +519,8 @@ _e_desklock_cb_mouse_move(void *data, int type, void *event)
if (current_zone == last_active_zone)
return 1;
for (l = edd->elock_wnd_list; l; l = l->next)
EINA_LIST_FOREACH(edd->elock_wnd_list, l, edp)
{
edp = l->data;
if (!edp) continue;
if (edp->popup_wnd->zone == last_active_zone)
@ -561,9 +545,8 @@ _e_desklock_passwd_update(void)
*pp = '*';
*pp = 0;
for (l = edd->elock_wnd_list; l; l = l->next)
EINA_LIST_FOREACH(edd->elock_wnd_list, l, edp)
{
edp = l->data;
edje_object_part_text_set(edp->login_box, "e.text.password",
passwd_hidden);
}
@ -606,16 +589,14 @@ _e_desklock_zone_num_get(void)
{
int num;
Eina_List *l, *l2;
E_Manager *man;
num = 0;
for (l = e_manager_list(); l; l = l->next)
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
E_Manager *man = l->data;
for (l2 = man->containers; l2; l2 = l2->next)
E_Container *con;
EINA_LIST_FOREACH(man->containers, l2, con)
{
E_Container *con = l2->data;
num += eina_list_count(con->zones);
}
}
@ -657,6 +638,7 @@ static void
_e_desklock_state_set(int state)
{
Eina_List *l;
E_Desklock_Popup_Data *edp;
const char *signal, *text;
if (!edd) return;
@ -672,10 +654,8 @@ _e_desklock_state_set(int state)
text = "The password you entered is invalid. Try again.";
}
for (l = edd->elock_wnd_list; l; l = l->next)
EINA_LIST_FOREACH(edd->elock_wnd_list, l, edp)
{
E_Desklock_Popup_Data *edp;
edp = l->data;
edje_object_signal_emit(edp->login_box, signal, "e.desklock");
edje_object_signal_emit(edp->bg_object, signal, "e.desklock");
edje_object_part_text_set(edp->login_box, "e.text.title", text);

View File

@ -129,22 +129,11 @@ e_dnd_init(void)
EAPI int
e_dnd_shutdown(void)
{
Ecore_Event_Handler *h;
E_FREE_LIST(_drag_list, e_object_del);
while (_drag_list)
{
E_Drag *drag = _drag_list->data;
e_object_del(E_OBJECT(drag));
}
E_FREE_LIST(_drop_handlers, e_drop_handler_del);
while (_drop_handlers)
{
E_Drop_Handler *h = _drop_handlers->data;
e_drop_handler_del(h);
}
EINA_LIST_FREE(_event_handlers, h)
ecore_event_handler_del(h);
E_FREE_LIST(_event_handlers, ecore_event_handler_del);
eina_hash_free(_drop_win_hash);

View File

@ -116,9 +116,8 @@ e_exehist_del(const char *exe)
_e_exehist_load();
if (!_e_exehist) return;
for (l = _e_exehist->history; l; l = l->next)
EINA_LIST_FOREACH(_e_exehist->history, l, ei)
{
ei = l->data;
if ((ei->exe) && (!strcmp(exe, ei->exe)))
{
eina_stringshare_del(ei->exe);
@ -151,6 +150,7 @@ EAPI int
e_exehist_popularity_get(const char *exe)
{
Eina_List *l;
E_Exehist_Item *ei;
const char *normal;
int count = 0;
@ -158,11 +158,8 @@ e_exehist_popularity_get(const char *exe)
if (!_e_exehist) return 0;
normal = _e_exehist_normalize_exe(exe);
if (!normal) return 0;
for (l = _e_exehist->history; l; l = l->next)
EINA_LIST_FOREACH(_e_exehist->history, l, ei)
{
E_Exehist_Item *ei;
ei = l->data;
if ((ei->normalized_exe) && (!strcmp(normal, ei->normalized_exe)))
count++;
}
@ -175,17 +172,15 @@ EAPI double
e_exehist_newest_run_get(const char *exe)
{
Eina_List *l;
E_Exehist_Item *ei;
const char *normal;
_e_exehist_load();
if (!_e_exehist) return 0.0;
normal = _e_exehist_normalize_exe(exe);
if (!normal) return 0.0;
for (l = eina_list_last(_e_exehist->history); l; l = l->prev)
EINA_LIST_REVERSE_FOREACH(_e_exehist->history, l, ei)
{
E_Exehist_Item *ei;
ei = l->data;
if ((ei->normalized_exe) && (!strcmp(normal, ei->normalized_exe)))
{
eina_stringshare_del(normal);
@ -244,11 +239,10 @@ e_exehist_sorted_list_get(E_Exehist_Sort sort_type, int max)
}
else
{
for (m = list; m; m = m->next)
const char *exe;
EINA_LIST_FOREACH(list, m, exe)
{
const char *exe;
if (!(exe = m->data)) continue;
if (!exe) continue;
if (!strcmp(exe, ei->exe))
{
bad = 1;
@ -295,9 +289,8 @@ e_exehist_mime_desktop_add(const char *mime, Efreet_Desktop *desktop)
f = efreet_util_path_to_file_id(desktop->orig_path);
if (!f) return;
for (l = _e_exehist->mimes; l; l = l->next)
EINA_LIST_FOREACH(_e_exehist->mimes, l, ei)
{
ei = l->data;
if ((ei->launch_method) && (!strcmp(mime, ei->launch_method)))
{
if ((ei->exe) && (!strcmp(f, ei->exe)))
@ -338,9 +331,8 @@ e_exehist_mime_desktop_get(const char *mime)
if (!mime) return NULL;
_e_exehist_load();
if (!_e_exehist) return NULL;
for (l = _e_exehist->mimes; l; l = l->next)
EINA_LIST_FOREACH(_e_exehist->mimes, l, ei)
{
ei = l->data;
if ((ei->launch_method) && (!strcmp(mime, ei->launch_method)))
{
desktop = NULL;
@ -380,26 +372,19 @@ _e_exehist_clear(void)
{
if (_e_exehist)
{
while (_e_exehist->history)
E_Exehist_Item *ei;
EINA_LIST_FREE(_e_exehist->history, ei)
{
E_Exehist_Item *ei;
ei = _e_exehist->history->data;
eina_stringshare_del(ei->exe);
eina_stringshare_del(ei->normalized_exe);
eina_stringshare_del(ei->launch_method);
free(ei);
_e_exehist->history = eina_list_remove_list(_e_exehist->history, _e_exehist->history);
}
while (_e_exehist->mimes)
EINA_LIST_FREE(_e_exehist->mimes, ei)
{
E_Exehist_Item *ei;
ei = _e_exehist->mimes->data;
eina_stringshare_del(ei->exe);
eina_stringshare_del(ei->launch_method);
free(ei);
_e_exehist->mimes = eina_list_remove_list(_e_exehist->mimes, _e_exehist->mimes);
}
}
}
@ -425,7 +410,7 @@ _e_exehist_limit(void)
{
E_Exehist_Item *ei;
ei = _e_exehist->history->data;
ei = eina_list_data_get(_e_exehist->history);
eina_stringshare_del(ei->exe);
eina_stringshare_del(ei->normalized_exe);
eina_stringshare_del(ei->launch_method);
@ -436,7 +421,7 @@ _e_exehist_limit(void)
{
E_Exehist_Item *ei;
ei = _e_exehist->mimes->data;
ei = eina_list_data_get(_e_exehist->mimes);
eina_stringshare_del(ei->exe);
eina_stringshare_del(ei->launch_method);
free(ei);

View File

@ -230,14 +230,16 @@ e_flowlayout_pack_before(Evas_Object *obj, Evas_Object *child, Evas_Object *befo
E_Smart_Data *sd;
int i = 0;
Eina_List *l;
Evas_Object *item;
sd = evas_object_smart_data_get(obj);
if (!sd) return 0;
_e_flowlayout_smart_adopt(sd, child);
sd->items = eina_list_prepend_relative(sd->items, child, before);
for (i = 0, l = sd->items; l; l = l->next, i++)
EINA_LIST_FOREACH(sd->items, l, item)
{
if (l->data == child) break;
if (item == child) break;
i++;
}
sd->changed = 1;
if (sd->frozen <= 0) _e_flowlayout_smart_reconfigure(sd);
@ -250,14 +252,16 @@ e_flowlayout_pack_after(Evas_Object *obj, Evas_Object *child, Evas_Object *after
E_Smart_Data *sd;
int i = 0;
Eina_List *l;
Evas_Object *item;
sd = evas_object_smart_data_get(obj);
if (!sd) return 0;
_e_flowlayout_smart_adopt(sd, child);
sd->items = eina_list_append_relative(sd->items, child, after);
for (i = 0, l = sd->items; l; l = l->next, i++)
EINA_LIST_FOREACH(sd->items, l, item)
{
if (l->data == child) break;
if (item == child) break;
i++;
}
sd->changed = 1;
if (sd->frozen <= 0) _e_flowlayout_smart_reconfigure(sd);
@ -464,6 +468,7 @@ _e_flowlayout_smart_reconfigure(E_Smart_Data *sd)
{
Evas_Coord x, y, w, h, xx, yy, cr, cc;
Eina_List *l;
Evas_Object *obj;
int minw, minh, wdif, hdif;
int count, expand;
@ -496,12 +501,10 @@ _e_flowlayout_smart_reconfigure(E_Smart_Data *sd)
}
/* Some odd expanding counter */
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Flowlayout_Item *bi;
Evas_Object *obj;
obj = l->data;
bi = evas_object_data_get(obj, "e_flowlayout_data");
if (bi)
{
@ -546,12 +549,10 @@ _e_flowlayout_smart_reconfigure(E_Smart_Data *sd)
cc = 0;
/* Now for the real deal */
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Flowlayout_Item *bi;
Evas_Object *obj;
obj = l->data;
bi = evas_object_data_get(obj, "e_flowlayout_data");
if (bi)
{
@ -720,6 +721,7 @@ static void
_e_flowlayout_smart_extents_calcuate(E_Smart_Data *sd)
{
Eina_List *l;
Evas_Object *obj;
int minw, minh, count;
/* FIXME: need to calc max */
@ -730,12 +732,10 @@ _e_flowlayout_smart_extents_calcuate(E_Smart_Data *sd)
minh = 1;
if (sd->homogenous)
{
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Flowlayout_Item *bi;
Evas_Object *obj;
obj = l->data;
bi = evas_object_data_get(obj, "e_flowlayout_data");
if (bi)
{
@ -794,12 +794,10 @@ _e_flowlayout_smart_extents_calcuate(E_Smart_Data *sd)
/* TODO nonhomogenous */
else
{
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Flowlayout_Item *bi;
Evas_Object *obj;
obj = l->data;
bi = evas_object_data_get(obj, "e_flowlayout_data");
if (bi)
{
@ -901,7 +899,7 @@ _e_flowlayout_smart_del(Evas_Object *obj)
{
Evas_Object *child;
child = sd->items->data;
child = eina_list_data_get(sd->items);
e_flowlayout_unpack(child);
}
evas_object_del(sd->clip);
@ -918,16 +916,17 @@ _e_flowlayout_smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
if ((x == sd->x) && (y == sd->y)) return;
{
Eina_List *l;
Evas_Object *item;
Evas_Coord dx, dy;
dx = x - sd->x;
dy = y - sd->y;
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, item)
{
Evas_Coord ox, oy;
evas_object_geometry_get(l->data, &ox, &oy, NULL, NULL);
evas_object_move(l->data, ox + dx, oy + dy);
evas_object_geometry_get(item, &ox, &oy, NULL, NULL);
evas_object_move(item, ox + dx, oy + dy);
}
}
sd->x = x;

View File

@ -1964,7 +1964,7 @@ _e_fm2_icon_thumb_edje_get(Evas *evas, const E_Fm2_Icon *ic, void (*cb) (void *d
Eina_List *l = edje_file_collection_list(buf);
if (!l)
return NULL;
group = l->data;
group = eina_list_data_get(l);
edje_file_collection_list_free(l);
}
@ -2402,7 +2402,7 @@ _e_fm2_client_messages_flush(void)
cl = _e_fm2_client_get();
if (!cl) break;
_e_fm2_client_message_flush(cl, _e_fm2_messages->data);
_e_fm2_client_message_flush(cl, eina_list_data_get(_e_fm2_messages));
}
}
@ -2684,7 +2684,7 @@ _e_fm2_file_force_update(const char *path)
{
E_Fm2_Icon *ic;
ic = _e_fm2_icon_find(l->data, ecore_file_file_get(path));
ic = _e_fm2_icon_find(o, ecore_file_file_get(path));
if (ic)
{
E_Fm2_Finfo finf;
@ -2696,7 +2696,7 @@ _e_fm2_file_force_update(const char *path)
finf.lnk = ic->info.link;
finf.rlnk = ic->info.real_link;
ic->removable_state_change = 1;
_e_fm2_live_file_changed(l->data, ecore_file_file_get(path),
_e_fm2_live_file_changed(o, ecore_file_file_get(path),
&finf);
}
}
@ -2898,14 +2898,11 @@ e_fm2_client_data(Ecore_Ipc_Event_Client_Data *e)
break;
}
}
while (dels)
EINA_LIST_FREE(dels, obj)
{
Evas_Object *obj;
E_Fm2_Smart_Data *sd;
obj = dels->data;
sd = evas_object_smart_data_get(obj);
dels = eina_list_remove_list(dels, dels);
if ((_e_fm2_list_walking > 0) &&
(eina_list_data_find(_e_fm2_list_remove, obj))) continue;
if (sd->config->view.open_dirs_in_place)
@ -2916,10 +2913,9 @@ e_fm2_client_data(Ecore_Ipc_Event_Client_Data *e)
_e_fm2_list_walking--;
if (_e_fm2_list_walking == 0)
{
while (_e_fm2_list_remove)
EINA_LIST_FREE(_e_fm2_list_remove, obj)
{
_e_fm2_list = eina_list_remove(_e_fm2_list, _e_fm2_list_remove->data);
_e_fm2_list_remove = eina_list_remove_list(_e_fm2_list_remove, _e_fm2_list_remove);
_e_fm2_list = eina_list_remove(_e_fm2_list, obj);
}
}
switch (e->minor)
@ -3000,8 +2996,8 @@ e_fm2_client_data(Ecore_Ipc_Event_Client_Data *e)
a = e_action_find("fileman");
m = e_manager_list();
if (a && a->func.go && m && m->data)
a->func.go(E_OBJECT(m->data), mountpoint);
if (a && a->func.go && m && eina_list_data_get(m))
a->func.go(E_OBJECT(eina_list_data_get(m)), mountpoint);
}
}
}
@ -3633,19 +3629,19 @@ _e_fm2_queue_process(Evas_Object *obj)
if (sd->tmp.list_index)
{
ll = sd->tmp.list_index;
for (l = sd->icons; l; l = l->next)
for (l = sd->icons; l; l = eina_list_next(l))
{
*ll = l;
ll++;
}
/* binary search first queue */
ic = sd->queue->data;
ic = eina_list_data_get(sd->queue);
p0 = 0; p1 = n;
i = (p0 + p1) / 2;
ll = sd->tmp.list_index;
do
{
ic2 = ll[i]->data;
ic2 = eina_list_data_get(ll[i]);
v = _e_fm2_cb_icon_sort(ic, ic2);
if (v < 0) /* ic should go before ic2 */
p1 = i;
@ -3676,9 +3672,8 @@ _e_fm2_queue_process(Evas_Object *obj)
}
else
{
for (; l; l = l->next)
EINA_LIST_FOREACH(l, l, ic2)
{
ic2 = l->data;
if (_e_fm2_cb_icon_sort(ic, ic2) < 0)
{
if (l == sd->icons)
@ -3936,7 +3931,6 @@ _e_fm2_icons_place_icon(E_Fm2_Icon *ic)
_e_fm2_icon_place_relative(ic, ic2, 0, 1, 1, 0);
if (_e_fm2_icons_icon_row_ok(ic) && !_e_fm2_icons_icon_overlaps(ic)) return;
*/
// for (l = ic->sd->icons_place; l; l = l->next)
EINA_LIST_FOREACH(ic->sd->icons, l, ic2)
{
if ((ic2 != ic) && (ic2->saved_pos))
@ -4111,11 +4105,7 @@ _e_fm2_icons_free(Evas_Object *obj)
if (!sd) return;
_e_fm2_queue_free(obj);
/* free all icons */
while (sd->icons)
{
_e_fm2_icon_free(sd->icons->data);
sd->icons = eina_list_remove_list(sd->icons, sd->icons);
}
E_FREE_LIST(sd->icons, _e_fm2_icon_free);
eina_list_free(sd->icons_place);
sd->icons_place = NULL;
sd->tmp.last_insert = NULL;
@ -5127,7 +5117,7 @@ _e_fm2_icon_sel_first(Evas_Object *obj)
if (!sd) return;
if (!sd->icons) return;
_e_fm2_icon_desel_any(obj);
ic = sd->icons->data;
ic = eina_list_data_get(sd->icons);
_e_fm2_icon_select(ic);
evas_object_smart_callback_call(sd->obj, "selection_change", NULL);
_e_fm2_icon_make_visible(ic);
@ -5143,7 +5133,7 @@ _e_fm2_icon_sel_last(Evas_Object *obj)
if (!sd) return;
if (!sd->icons) return;
_e_fm2_icon_desel_any(obj);
ic = eina_list_last(sd->icons)->data;
ic = eina_list_data_get(eina_list_last(sd->icons));
_e_fm2_icon_select(ic);
evas_object_smart_callback_call(sd->obj, "selection_change", NULL);
_e_fm2_icon_make_visible(ic);
@ -5278,13 +5268,13 @@ _e_fm2_icon_next_find(Evas_Object *obj, int next, int match_func(E_Fm2_Icon *ic,
{
if (next == 1)
{
if (!l->next) return NULL;
ic_next = l->next->data;
if (!eina_list_next(l)) return NULL;
ic_next = eina_list_data_get(eina_list_next(l));
}
if (next == -1)
{
if (!l->prev) return NULL;
ic_next = l->prev->data;
if (!eina_list_prev(l)) return NULL;
ic_next = eina_list_data_get(eina_list_prev(l));
}
}
@ -6187,10 +6177,10 @@ _e_fm2_cb_dnd_drop(void *data, const char *type, void *event)
if (sd->drop_all) /* drop arbitarily into the dir */
{
/* move file into this fm dir */
for (ll = fsel, il = isel; ll && il; ll = ll->next, il = il->next)
for (ll = fsel, il = isel; ll && il; ll = eina_list_next(ll), il = eina_list_next(il))
{
ic = il->data;
fp = ll->data;
ic = eina_list_data_get(il);
fp = eina_list_data_get(ll);
if (!fp) continue;
if ((ic) && (_e_fm2_view_mode_get(sd) == E_FM2_VIEW_MODE_CUSTOM_ICONS))
@ -6232,9 +6222,8 @@ _e_fm2_cb_dnd_drop(void *data, const char *type, void *event)
{
sd->max.w = 0;
sd->max.h = 0;
for (l = sd->icons; l; l = l->next)
EINA_LIST_FOREACH(sd->icons, l, ic)
{
ic = l->data;
if ((ic->x + ic->w) > sd->max.w) sd->max.w = ic->x + ic->w;
if ((ic->y + ic->h) > sd->max.h) sd->max.h = ic->y + ic->h;
}
@ -6249,10 +6238,10 @@ _e_fm2_cb_dnd_drop(void *data, const char *type, void *event)
if (sd->drop_after == -1) /* put into subdir/file in icon */
{
/* move file into dir that this icon is for */
for (ll = fsel, il = isel; ll && il; ll = ll->next, il = il->next)
for (ll = fsel, il = isel; ll && il; ll = eina_list_next(ll), il = eina_list_next(il))
{
ic = il->data;
fp = ll->data;
ic = eina_list_data_get(il);
fp = eina_list_data_get(ll);
if (!fp) continue;
args = _e_fm_string_append_quoted(args, &size, &length, fp);
@ -6272,10 +6261,10 @@ _e_fm2_cb_dnd_drop(void *data, const char *type, void *event)
{
if (_e_fm2_view_mode_get(sd) == E_FM2_VIEW_MODE_LIST && sd->order_file) /* list */
{
for (ll = fsel, il = isel; ll && il; ll = ll->next, il = il->next)
for (ll = fsel, il = isel; ll && il; ll = eina_list_next(ll), il = eina_list_next(il))
{
ic = il->data;
fp = ll->data;
ic = eina_list_data_get(il);
fp = eina_list_data_get(ll);
if (!fp) continue;
snprintf(buf, sizeof(buf), "%s/%s",
sd->realpath, ecore_file_file_get(fp));
@ -6298,10 +6287,10 @@ _e_fm2_cb_dnd_drop(void *data, const char *type, void *event)
}
else
{
for (ll = fsel, il = isel; ll && il; ll = ll->next, il = il->next)
for (ll = fsel, il = isel; ll && il; ll = eina_list_next(ll), il = eina_list_next(il))
{
ic = il->data;
fp = ll->data;
ic = eina_list_data_get(il);
fp = eina_list_data_get(ll);
if (!fp) continue;
args = _e_fm_string_append_quoted(args, &size, &length, fp);
@ -6347,7 +6336,7 @@ _e_fm2_cb_dnd_drop(void *data, const char *type, void *event)
{
EINA_LIST_FREE(_e_fm2_list_remove, obj)
{
_e_fm2_list = eina_list_remove(_e_fm2_list, _e_fm2_list_remove->data);
_e_fm2_list = eina_list_remove(_e_fm2_list, obj);
}
}
eina_list_free(fsel);
@ -6407,9 +6396,9 @@ _e_fm2_mouse_1_handler(E_Fm2_Icon *ic, int up, void *evas_event)
ic2->last_selected = 0;
if (seen)
{
for (; (l) && (l->data != ic); l = l->prev)
EINA_LIST_REVERSE_FOREACH(l, l, ic2)
{
ic2 = l->data;
if (ic == ic2) break;
if (!ic2->selected) sel_change = 1;
_e_fm2_icon_select(ic2);
ic2->last_selected = 0;
@ -6417,9 +6406,9 @@ _e_fm2_mouse_1_handler(E_Fm2_Icon *ic, int up, void *evas_event)
}
else
{
for (; (l) && (l->data != ic); l = l->next)
EINA_LIST_FOREACH(l, l, ic2)
{
ic2 = l->data;
if (ic == ic2) break;
if (!ic2->selected) sel_change = 1;
_e_fm2_icon_select(ic2);
ic2->last_selected = 0;
@ -9394,7 +9383,8 @@ _e_fm2_file_delete_yes_cb(void *data, E_Dialog *dialog)
if (e_filereg_file_protected(buf)) continue;
files = _e_fm_string_append_quoted(files, &size, &len, buf);
if (l->next) files = _e_fm_string_append_char(files, &size, &len, ' ');
if (eina_list_next(l))
files = _e_fm_string_append_char(files, &size, &len, ' ');
}
eina_list_free(sel);
@ -9545,7 +9535,7 @@ _e_fm2_live_process(Evas_Object *obj)
sd = evas_object_smart_data_get(obj);
if (!sd->live.actions) return;
a = sd->live.actions->data;
a = eina_list_data_get(sd->live.actions);
sd->live.actions = eina_list_remove_list(sd->live.actions, sd->live.actions);
switch (a->type)
{
@ -9816,7 +9806,7 @@ _e_fm2_volume_icon_update(E_Volume *v)
rp = e_fm2_real_path_get(o);
if (strcmp(rp, fav) && strcmp(rp, desk)) continue;
ic = _e_fm2_icon_find(l->data, file);
ic = _e_fm2_icon_find(o, file);
if (ic)
_update_volume_icon(v, ic);
}

View File

@ -199,6 +199,7 @@ e_fm2_custom_file_del(const char *path)
{
Eina_List *list, *l;
E_Fm2_Custom_File *cf2;
const void *key;
_e_fm2_custom_file_info_load();
if (!_e_fm2_custom_file) return;
@ -207,12 +208,12 @@ e_fm2_custom_file_del(const char *path)
list = _e_fm2_custom_hash_key_base_list(_e_fm2_custom_hash, path);
if (list)
{
for (l = list; l; l = l->next)
EINA_LIST_FOREACH(list, l, key)
{
cf2 = eina_hash_find(_e_fm2_custom_hash, l->data);
cf2 = eina_hash_find(_e_fm2_custom_hash, key);
if (cf2)
{
eina_hash_del(_e_fm2_custom_hash, l->data, cf2);
eina_hash_del(_e_fm2_custom_hash, key, cf2);
_e_fm2_custom_file_del(cf2);
}
}
@ -226,6 +227,7 @@ e_fm2_custom_file_rename(const char *path, const char *new_path)
{
E_Fm2_Custom_File *cf, *cf2;
Eina_List *list, *l;
const void *key;
_e_fm2_custom_file_info_load();
if (!_e_fm2_custom_file) return;
@ -242,16 +244,16 @@ e_fm2_custom_file_rename(const char *path, const char *new_path)
list = _e_fm2_custom_hash_key_base_list(_e_fm2_custom_hash, path);
if (list)
{
for (l = list; l; l = l->next)
EINA_LIST_FOREACH(list, l, key)
{
cf2 = eina_hash_find(_e_fm2_custom_hash, l->data);
cf2 = eina_hash_find(_e_fm2_custom_hash, key);
if (cf2)
{
char buf[PATH_MAX];
strcpy(buf, new_path);
strcat(buf, (char *)l->data + strlen(path));
eina_hash_del(_e_fm2_custom_hash, l->data, cf2);
strcat(buf, (char *)key + strlen(path));
eina_hash_del(_e_fm2_custom_hash, key, cf2);
cf = eina_hash_find(_e_fm2_custom_hash, buf);
if (cf)
_e_fm2_custom_file_del(cf);

View File

@ -84,14 +84,12 @@ EAPI E_Storage *
e_fm2_hal_storage_find(const char *udi)
{
Eina_List *l;
E_Storage *s;
if (!udi) return NULL;
for (l = _e_stores; l; l = l->next)
EINA_LIST_FOREACH(_e_stores, l, s)
{
E_Storage *s;
s = l->data;
if (!strcmp(udi, s->udi)) return s;
}
return NULL;
@ -369,14 +367,12 @@ EAPI E_Volume *
e_fm2_hal_volume_find(const char *udi)
{
Eina_List *l;
E_Volume *v;
if (!udi) return NULL;
for (l = _e_vols; l; l = l->next)
EINA_LIST_FOREACH(_e_vols, l, v)
{
E_Volume *v;
v = l->data;
if (!strcmp(udi, v->udi)) return v;
}
return NULL;
@ -413,6 +409,7 @@ EAPI void
e_fm2_hal_mount_add(E_Volume *v, const char *mountpoint)
{
Eina_List *l;
E_Fm2_Mount *m;
v->mounted = 1;
if (mountpoint && (*mountpoint != 0))
@ -422,8 +419,8 @@ e_fm2_hal_mount_add(E_Volume *v, const char *mountpoint)
v->mount_point = strdup(mountpoint);
}
for (l = v->mounts; l; l = l->next)
_e_fm2_hal_mount_ok(l->data);
EINA_LIST_FOREACH(v->mounts, l, m)
_e_fm2_hal_mount_ok(m);
// printf("MOUNT %s %s\n", v->udi, v->mount_point);
}
@ -464,16 +461,14 @@ EAPI E_Fm2_Mount *
e_fm2_hal_mount_find(const char *path)
{
Eina_List *l;
E_Volume *v;
for (l = _e_vols; l; l = l->next)
EINA_LIST_FOREACH(_e_vols, l, v)
{
E_Volume *v;
v = l->data;
if (v->mounted
&& !strncmp(path, v->mount_point, strlen(v->mount_point))
&& v->mounts)
return v->mounts->data;
return eina_list_data_get(v->mounts);
}
return NULL;
}
@ -555,11 +550,12 @@ EAPI void
e_fm2_hal_unmount_fail(E_Volume *v)
{
Eina_List *l;
E_Fm2_Mount *m;
v->mounted = 1;
for (l = v->mounts; l; l = l->next)
_e_fm2_hal_unmount_fail(l->data);
EINA_LIST_FOREACH(v->mounts, l, m)
_e_fm2_hal_unmount_fail(m);
}
static void
@ -616,10 +612,8 @@ e_fm2_hal_show_desktop_icons(void)
char buf2[PATH_MAX] = {0};
const char *id;
for (l = _e_vols; l; l = eina_list_next(l))
EINA_LIST_FOREACH(_e_vols, l, v)
{
v = eina_list_data_get(l);
if (!v) continue;
if (!v->storage) continue;
@ -649,10 +643,8 @@ e_fm2_hal_hide_desktop_icons(void)
char buf[PATH_MAX] = {0};
const char *id;
for (l = _e_vols; l; l = eina_list_next(l))
EINA_LIST_FOREACH(_e_vols, l, v)
{
v = eina_list_data_get(l);
if (!v) continue;
if (!v->storage) continue;

View File

@ -633,12 +633,10 @@ E_Storage *
e_storage_find(const char *udi)
{
Eina_List *l;
E_Storage *s;
for (l = _e_stores; l; l = l->next)
EINA_LIST_FOREACH(_e_stores, l, s)
{
E_Storage *s;
s = l->data;
if (!strcmp(udi, s->udi)) return s;
}
return NULL;
@ -865,12 +863,10 @@ EAPI E_Volume *
e_volume_find(const char *udi)
{
Eina_List *l;
E_Volume *v;
for (l = _e_vols; l; l = l->next)
EINA_LIST_FOREACH(_e_vols, l, v)
{
E_Volume *v;
v = l->data;
if (!strcmp(udi, v->udi)) return v;
}
return NULL;
@ -1208,11 +1204,8 @@ _e_fm_monitor_start_try(E_Fm_Task *task)
Eina_List *l;
/* look for any previous dir entries monitoring this dir */
for (l = _e_dirs; l; l = l->next)
EINA_LIST_FOREACH(_e_dirs, l, ed)
{
E_Dir *ed;
ed = l->data;
if ((ed->mon) && (!strcmp(ed->dir, task->src)))
{
/* found a previous dir - save it in ped */
@ -1611,13 +1604,11 @@ _e_ipc_cb_server_data(void *data, int type, void *event)
case E_FM_OP_MONITOR_SYNC: /* mon list sync */
{
Eina_List *l;
E_Dir *ed;
double stime;
for (l = _e_dirs; l; l = l->next)
EINA_LIST_FOREACH(_e_dirs, l, ed)
{
E_Dir *ed;
ed = l->data;
if (ed->fq)
{
if (ed->sync == e->response)
@ -1728,17 +1719,13 @@ static int _e_fm_slave_run(E_Fm_Op_Type type, const char *args, int id)
static E_Fm_Slave *_e_fm_slave_get(int id)
{
Eina_List *l = _e_fm_slaves;
Eina_List *l;
E_Fm_Slave *slave;
while (l)
EINA_LIST_FOREACH(_e_fm_slaves, l, slave)
{
slave = eina_list_data_get(l);
if (slave->id == id)
return slave;
l = eina_list_next(l);
}
return NULL;
@ -1867,9 +1854,8 @@ _e_cb_file_monitor(void *data, Ecore_File_Monitor *em, Ecore_File_Event event, c
(event == ECORE_FILE_EVENT_CREATED_DIRECTORY))
{
rp = ecore_file_realpath(dir);
for (l = _e_dirs; l; l = l->next)
EINA_LIST_FOREACH(_e_dirs, l, ed)
{
ed = l->data;
drp = ecore_file_realpath(ed->dir);
if (drp)
{
@ -1884,9 +1870,8 @@ _e_cb_file_monitor(void *data, Ecore_File_Monitor *em, Ecore_File_Event event, c
(event == ECORE_FILE_EVENT_DELETED_DIRECTORY))
{
rp = ecore_file_realpath(dir);
for (l = _e_dirs; l; l = l->next)
EINA_LIST_FOREACH(_e_dirs, l, ed)
{
ed = l->data;
drp = ecore_file_realpath(ed->dir);
if (drp)
{
@ -1900,9 +1885,8 @@ _e_cb_file_monitor(void *data, Ecore_File_Monitor *em, Ecore_File_Event event, c
else if (event == ECORE_FILE_EVENT_MODIFIED)
{
rp = ecore_file_realpath(dir);
for (l = _e_dirs; l; l = l->next)
EINA_LIST_FOREACH(_e_dirs, l, ed)
{
ed = l->data;
drp = ecore_file_realpath(ed->dir);
if (drp)
{
@ -1916,9 +1900,8 @@ _e_cb_file_monitor(void *data, Ecore_File_Monitor *em, Ecore_File_Event event, c
else if (event == ECORE_FILE_EVENT_DELETED_SELF)
{
rp = ecore_file_realpath(path);
for (l = _e_dirs; l; l = l->next)
EINA_LIST_FOREACH(_e_dirs, l, ed)
{
ed = l->data;
drp = ecore_file_realpath(ed->dir);
if (drp)
{
@ -1980,9 +1963,8 @@ _e_file_add_mod(E_Dir *ed, const char *path, E_Fm_Op_Type op, int listing)
int skip = 0;
t_now = ecore_time_get();
for (l = ed->recent_mods; l; l = l->next)
EINA_LIST_FOREACH(ed->recent_mods, l, m)
{
m = l->data;
if ((m->mod) && (!strcmp(m->path, path)))
{
if ((t_now - m->timestamp) < DEF_MOD_BACKOFF)
@ -2113,22 +2095,14 @@ _e_cb_file_mon_list_idler(void *data)
/* FIXME: spool off files in idlers and handle sync req's */
while (ed->fq)
{
file = ed->fq->data;
file = eina_list_data_get(ed->fq);
if (!((ed->dot_order) && (!strcmp(file, ".order"))))
{
if (!strcmp(ed->dir, "/"))
snprintf(buf, sizeof(buf), "/%s", file);
else
snprintf(buf, sizeof(buf), "%s/%s", ed->dir, file);
/*
if (//(!ed->fq->next) ||
((!strcmp(ed->fq->next->data, ".order"))
//&& (!ed->fq->next->next)
))
_e_file_add(ed, buf, 1);
else
*/
_e_file_add(ed, buf, 1);
_e_file_add(ed, buf, 1);
}
free(file);
ed->fq = eina_list_remove_list(ed->fq, ed->fq);

View File

@ -53,9 +53,8 @@ e_fm_mime_icon_get(const char *mime)
if (val) *val = 0;
/* 1. look up in mapping to file or thumb (thumb has flag)*/
for (l = e_config->mime_icons; l; l = l->next)
EINA_LIST_FOREACH(e_config->mime_icons, l, mi)
{
mi = l->data;
if (e_util_glob_match(mi->mime, mime))
{
ecore_strlcpy(buf, mi->icon, sizeof(buf));
@ -135,11 +134,7 @@ e_fm_mime_icon_cache_flush(void)
Eina_List *freelist = NULL;
eina_hash_foreach(icon_map, _e_fm_mime_icon_foreach, &freelist);
while (freelist)
{
eina_stringshare_del(freelist->data);
freelist = eina_list_remove_list(freelist, freelist);
}
E_FREE_LIST(freelist, eina_stringshare_del);
eina_hash_free(icon_map);
icon_map = NULL;
}
@ -337,17 +332,15 @@ e_fm2_mime_handler_mime_handlers_call_all(Evas_Object *obj, const char *path, co
{
Eina_List *handlers = NULL;
Eina_List *l = NULL;
E_Fm2_Mime_Handler *handler = NULL;
if ((!obj) || (!path) || (!mime)) return;
handlers = e_fm2_mime_handler_mime_handlers_get(mime);
if (!handlers) return;
for (l = handlers; l; l = l->next)
EINA_LIST_FOREACH(handlers, l, handler)
{
E_Fm2_Mime_Handler *handler = NULL;
handler = l->data;
if (!handler) continue;
e_fm2_mime_handler_call(handler, obj, path);
@ -360,17 +353,15 @@ e_fm2_mime_handler_glob_handlers_call_all(Evas_Object *obj, const char *path, co
{
Eina_List *handlers = NULL;
Eina_List *l = NULL;
E_Fm2_Mime_Handler *handler = NULL;
if ((!obj) || (!path) || (!glob)) return;
handlers = e_fm2_mime_handler_glob_handlers_get(glob);
if (!handlers) return;
for (l = handlers; l; l = l->next)
EINA_LIST_FOREACH(handlers, l, handler)
{
E_Fm2_Mime_Handler *handler = NULL;
handler = l->data;
if (!handler) continue;
e_fm2_mime_handler_call(handler, obj, path);
@ -395,15 +386,16 @@ _e_fm2_mime_handler_glob_match_foreach(const Eina_Hash *hash __UNUSED__, const v
E_Fm2_Mime_Handler_Tuple *tuple;
Eina_List *handlers = NULL;
Eina_List *l = NULL;
void *handler = NULL;
tuple = fdata;
if (e_util_glob_match(tuple->str, key))
{
handlers = data;
for (l = handlers; l; l = l->next)
EINA_LIST_FOREACH(handlers, l, handler)
{
if (l->data)
tuple->list = eina_list_append(tuple->list, l->data);
if (handler)
tuple->list = eina_list_append(tuple->list, handler);
}
}

View File

@ -1416,7 +1416,7 @@ _e_fm_op_scan_atom(E_Fm_Op_Task * task)
_e_fm_op_work_queue = eina_list_append_relative_list(_e_fm_op_work_queue, rtask, _e_fm_op_separator);
ctask->link = _e_fm_op_separator->next;
ctask->link = eina_list_next(_e_fm_op_separator);
}
else if (task->type == E_FM_OP_SYMLINK)
{

View File

@ -226,9 +226,8 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
if (!cfdata->picon_mime) /* remove previous custom icon info */
e_fm2_custom_file_del(buf);
for (l = e_config->mime_icons; l; l = l->next)
EINA_LIST_FOREACH(e_config->mime_icons, l, mi)
{
mi = l->data;
if (!mi) continue;
if (strcmp(mi->mime, cfdata->mime)) continue;
if (mi->icon)

View File

@ -101,13 +101,10 @@ _e_volume_free(E_Volume *v)
static void
_e_storage_free(E_Storage *s)
{
while (s->volumes)
E_Volume *v;
EINA_LIST_FREE(s->volumes, v)
{
E_Volume *v;
v = s->volumes->data;
_e_volume_free(v);
s->volumes = eina_list_remove_list(s->volumes, s->volumes);
}
if (s->udi) free(s->udi);
if (s->bus) free(s->bus);

View File

@ -29,6 +29,8 @@ e_font_apply(void)
{
char buf[1024];
Eina_List *l;
E_Border *bd;
E_Font_Default *efd;
E_Font_Fallback *eff;
int blen, len;
@ -46,9 +48,8 @@ e_font_apply(void)
strcpy(buf, eff->name);
blen -= len;
}
for (l = eina_list_next(l); l; l = l->next)
EINA_LIST_FOREACH(eina_list_next(l), l, eff)
{
eff = eina_list_data_get(l);
len = 1;
if (len < blen)
{
@ -68,20 +69,14 @@ e_font_apply(void)
edje_fontset_append_set(NULL);
/* setup edje text classes */
for (l = e_config->font_defaults; l; l = l->next)
EINA_LIST_FOREACH(e_config->font_defaults, l, efd)
{
E_Font_Default *efd;
efd = eina_list_data_get(l);
edje_text_class_set(efd->text_class, efd->font, efd->size);
}
/* Update borders */
for (l = e_border_client_list(); l; l = l->next)
EINA_LIST_FOREACH(e_border_client_list(), l, bd)
{
E_Border *bd;
bd = l->data;
e_border_frame_recalc(bd);
}
}
@ -92,6 +87,7 @@ e_font_available_list(void)
Eina_List *evas_fonts;
Eina_List *e_fonts;
Eina_List *l;
const char *evas_font;
E_Manager *man;
E_Container *con;
@ -104,16 +100,14 @@ e_font_available_list(void)
evas_fonts = evas_font_available_list(con->bg_evas);
e_fonts = NULL;
for (l = evas_fonts; l; l = l->next)
EINA_LIST_FOREACH(evas_fonts, l, evas_font)
{
E_Font_Available *efa;
const char *evas_font;
efa = E_NEW(E_Font_Available, 1);
evas_font = l->data;
efa->name = eina_stringshare_add(evas_font);
e_fonts = eina_list_append(e_fonts, efa);
}
}
evas_font_available_list_free(con->bg_evas, evas_fonts);
@ -125,10 +119,8 @@ e_font_available_list_free(Eina_List *available)
{
E_Font_Available *efa;
while (available)
EINA_LIST_FREE(available, efa)
{
efa = available->data;
available = eina_list_remove_list(available, available);
if (efa->name) eina_stringshare_del(efa->name);
E_FREE(efa);
}
@ -137,14 +129,11 @@ e_font_available_list_free(Eina_List *available)
EAPI void
e_font_properties_free(E_Font_Properties *efp)
{
while (efp->styles)
const char *str;
EINA_LIST_FREE(efp->styles, str)
{
const char *str;
str = efp->styles->data;
if (str) eina_stringshare_del(str);
efp->styles = eina_list_remove_list(efp->styles, efp->styles);
}
if (efp->name) eina_stringshare_del(efp->name);
free(efp);
@ -261,6 +250,7 @@ e_font_available_list_parse(Eina_List *list)
{
Eina_Hash *font_hash;
Eina_List *next;
void *key;
font_hash = NULL;
@ -280,8 +270,8 @@ e_font_available_list_parse(Eina_List *list)
font_hash = _e_font_available_hash_add(font_hash, "Monospace:style=Oblique");
font_hash = _e_font_available_hash_add(font_hash, "Monospace:style=Bold Oblique");
for (next = list; next; next = next->next)
font_hash = _e_font_available_hash_add(font_hash, next->data);
EINA_LIST_FOREACH(list, next, key)
font_hash = _e_font_available_hash_add(font_hash, key);
return font_hash;
}
@ -303,11 +293,8 @@ e_font_fallback_clear(void)
{
E_Font_Fallback *eff;
while (e_config->font_fallbacks)
EINA_LIST_FREE(e_config->font_fallbacks, eff)
{
eff = e_config->font_fallbacks->data;
e_config->font_fallbacks =
eina_list_remove_list(e_config->font_fallbacks, e_config->font_fallbacks);
if (eff->name) eina_stringshare_del(eff->name);
E_FREE(eff);
}
@ -341,12 +328,10 @@ EAPI void
e_font_fallback_remove(const char *font)
{
Eina_List *next;
E_Font_Fallback *eff;
for (next = e_config->font_fallbacks; next; next = next->next)
EINA_LIST_FOREACH(e_config->font_fallbacks, next, eff)
{
E_Font_Fallback *eff;
eff = eina_list_data_get(next);
if (!strcmp(eff->name, font))
{
e_config->font_fallbacks =
@ -371,9 +356,8 @@ e_font_default_set(const char *text_class, const char *font, Evas_Font_Size size
Eina_List *next;
/* search for the text class */
for (next = e_config->font_defaults; next; next = next->next)
EINA_LIST_FOREACH(e_config->font_defaults, next, efd)
{
efd = eina_list_data_get(next);
if (!strcmp(efd->text_class, text_class))
{
if (efd->font) eina_stringshare_del(efd->font);
@ -407,9 +391,8 @@ e_font_default_get(const char *text_class)
Eina_List *next;
/* search for the text class */
for (next = e_config->font_defaults; next; next = next->next)
EINA_LIST_FOREACH(e_config->font_defaults, next, efd)
{
efd = eina_list_data_get(next);
if (!strcmp(efd->text_class, text_class))
{
/* move to the front of the list */
@ -432,9 +415,8 @@ e_font_default_remove(const char *text_class)
Eina_List *next;
/* search for the text class */
for (next = e_config->font_defaults; next; next = next->next)
EINA_LIST_FOREACH(e_config->font_defaults, next, efd)
{
efd = eina_list_data_get(next);
if (!strcmp(efd->text_class, text_class))
{
e_config->font_defaults =
@ -482,10 +464,8 @@ e_font_default_string_get(const char *text_class, Evas_Font_Size *size_ret)
blen -= len;
}
next = e_config->font_fallbacks;
while (next)
EINA_LIST_FOREACH(e_config->font_fallbacks, next, eff)
{
eff = eina_list_data_get(next);
len = 1;
if (len < blen)
{
@ -498,7 +478,6 @@ e_font_default_string_get(const char *text_class, Evas_Font_Size *size_ret)
strcat(_fn_buf, eff->name);
blen -= len;
}
next = eina_list_next(next);
}
if (size_ret) *size_ret = efd->size;

File diff suppressed because it is too large Load Diff

View File

@ -216,6 +216,7 @@ e_hints_manager_init(E_Manager *man)
int i = 0, num = 0;
unsigned int *areas = NULL;
Eina_List *cl;
E_Container *c;
Ecore_X_Window *vroots = NULL;
/* FIXME: Desktop names not yet implemented */
/* char **names; */
@ -236,11 +237,8 @@ e_hints_manager_init(E_Manager *man)
return;
}
for (cl = man->containers; cl; cl = cl->next)
EINA_LIST_FOREACH(man->containers, cl, c)
{
E_Container *c;
c = cl->data;
areas[4 * i] = c->x;
areas[4 * i + 1] = c->y;
areas[4 * i + 2] = c->w;
@ -277,12 +275,10 @@ e_hints_client_list_set(void)
Ecore_X_Window *clients = NULL;
/* Get client count by adding client lists on all containers */
for (ml = e_manager_list(); ml; ml = ml->next)
EINA_LIST_FOREACH(e_manager_list(), ml, m)
{
m = ml->data;
for (cl = m->containers; cl; cl = cl->next)
EINA_LIST_FOREACH(m->containers, cl, c)
{
c = cl->data;
num += e_container_borders_count(c);
}
}
@ -294,13 +290,11 @@ e_hints_client_list_set(void)
/* Fetch window IDs and add to array */
if (num > 0)
{
for (ml = e_manager_list(); ml; ml = ml->next)
EINA_LIST_FOREACH(e_manager_list(), ml, m)
{
m = ml->data;
i = 0;
for (cl = m->containers; cl; cl = cl->next)
EINA_LIST_FOREACH(m->containers, cl, c)
{
c = cl->data;
bl = e_container_border_list_first(c);
while ((b = e_container_border_list_next(bl)))
clients[i++] = b->client.win;
@ -320,9 +314,8 @@ e_hints_client_list_set(void)
}
else
{
for (ml = e_manager_list(); ml; ml = ml->next)
EINA_LIST_FOREACH(e_manager_list(), ml, m)
{
m = ml->data;
ecore_x_netwm_client_list_set(m->root, NULL, 0);
ecore_x_netwm_client_list_stacking_set(m->root, NULL, 0);
}
@ -344,12 +337,10 @@ e_hints_client_stacking_set(void)
Ecore_X_Window *clients = NULL;
/* Get client count */
for (ml = e_manager_list(); ml; ml = ml->next)
EINA_LIST_FOREACH(e_manager_list(), ml, m)
{
m = ml->data;
for (cl = m->containers; cl; cl = cl->next)
EINA_LIST_FOREACH(m->containers, cl, c)
{
c = cl->data;
num += e_container_borders_count(c);
}
}
@ -359,12 +350,10 @@ e_hints_client_stacking_set(void)
clients = calloc(num, sizeof(Ecore_X_Window));
if (!clients) return;
for (ml = e_manager_list(); ml; ml = ml->next)
EINA_LIST_FOREACH(e_manager_list(), ml, m)
{
m = ml->data;
for (cl = m->containers; cl; cl = cl->next)
EINA_LIST_FOREACH(m->containers, cl, c)
{
c = cl->data;
bl = e_container_border_list_first(c);
while ((b = e_container_border_list_next(bl)))
{
@ -390,18 +379,16 @@ e_hints_client_stacking_set(void)
"This is strange, but not harmful.\n"
"Please report this.\n");
}
for (ml = e_manager_list(); ml; ml = ml->next)
EINA_LIST_FOREACH(e_manager_list(), ml, m)
{
m = ml->data;
ecore_x_netwm_client_list_stacking_set(m->root, clients, num);
}
E_FREE(clients);
}
else
{
for (ml = e_manager_list(); ml; ml = ml->next)
EINA_LIST_FOREACH(e_manager_list(), ml, m)
{
m = ml->data;
ecore_x_netwm_client_list_stacking_set(m->root, NULL, 0);
}
}

View File

@ -325,15 +325,14 @@ e_ilist_prepend_relative(Evas_Object *obj, Evas_Object *icon, const char *label,
EAPI void
e_ilist_clear(Evas_Object *obj)
{
E_Ilist_Item *si = NULL;
API_ENTRY return;
e_ilist_freeze(obj);
while (sd->items)
EINA_LIST_FREE(sd->items, si)
{
E_Ilist_Item *si = NULL;
if (!(si = sd->items->data)) continue;
sd->items = eina_list_remove_list(sd->items, sd->items);
if (!si) continue;
if (si->o_icon) evas_object_del(si->o_icon);
evas_object_del(si->o_base);
E_FREE(si);
@ -402,17 +401,16 @@ EAPI void
e_ilist_unselect(Evas_Object *obj)
{
Eina_List *l = NULL;
E_Ilist_Item *si = NULL;
const char *stacking, *selectraise;
API_ENTRY return;
if (!sd->items) return;
if (sd->selected < 0) return;
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, si)
{
E_Ilist_Item *si = NULL;
if (!(si = l->data)) continue;
if (!si) continue;
if (!si->selected) continue;
edje_object_signal_emit(si->o_base, "e,state,unselected", "e");
si->selected = 0;
@ -442,9 +440,9 @@ e_ilist_selected_set(Evas_Object *obj, int n)
if (n >= i) n = i - 1;
else if (n < 0) n = 0;
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, si)
{
if (!(si = l->data)) continue;
if (!si) continue;
if ((!si->selected) || (si->header)) continue;
edje_object_signal_emit(si->o_base, "e,state,unselected", "e");
si->selected = 0;
@ -484,6 +482,7 @@ EAPI int
e_ilist_selected_get(Evas_Object *obj)
{
Eina_List *l = NULL;
E_Ilist_Item *li = NULL;
int i, j;
API_ENTRY return -1;
@ -493,12 +492,11 @@ e_ilist_selected_get(Evas_Object *obj)
else
{
j = -1;
for (i = 0, l = sd->items; l; l = l->next, i++)
i = 0;
EINA_LIST_FOREACH(sd->items, l, li)
{
E_Ilist_Item *li = NULL;
if (!(li = l->data)) continue;
if (li->selected) j = i;
if (li && li->selected) j = i;
i++;
}
return j;
}
@ -578,15 +576,14 @@ EAPI int
e_ilist_selected_count_get(Evas_Object *obj)
{
Eina_List *l = NULL;
E_Ilist_Item *si = NULL;
int count = 0;
API_ENTRY return 0;
if (!sd->items) return 0;
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, si)
{
E_Ilist_Item *si = NULL;
if (!(si = l->data)) continue;
if (!si) continue;
if (si->selected) count++;
}
return count;
@ -701,17 +698,17 @@ EAPI void
e_ilist_icon_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
{
Eina_List *l = NULL;
E_Ilist_Item *si = NULL;
API_ENTRY return;
if ((sd->iw == w) && (sd->ih == h)) return;
sd->iw = w;
sd->ih = h;
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, si)
{
E_Ilist_Item *si = NULL;
Evas_Coord mw = 0, mh = 0;
if (!(si = l->data)) continue;
if (!si) continue;
if (!si->o_icon) continue;
edje_extern_object_min_size_set(si->o_icon, w, h);
edje_object_part_swallow(si->o_base, "e.swallow.icon", si->o_icon);
@ -960,7 +957,7 @@ _e_smart_event_mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event_in
{
E_Smart_Data *sd;
Evas_Event_Mouse_Up *ev;
E_Ilist_Item *si;
E_Ilist_Item *si, *item;
Eina_List *l = NULL;
int i;
@ -982,9 +979,10 @@ _e_smart_event_mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event_in
if (!sd->items) return;
for (i = 0, l = sd->items; l; l = l->next, i++)
i = 0;
EINA_LIST_FOREACH(sd->items, l, item)
{
if (l->data == si)
if (item == si)
{
if (!sd->multi_select)
e_ilist_selected_set(sd->o_smart, i);
@ -999,6 +997,7 @@ _e_smart_event_mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event_in
}
break;
}
i++;
}
if(!sd->selector) return;
@ -1204,13 +1203,10 @@ _e_typebuf_match(Evas_Object *obj)
strcat(match, sd->typebuf.buf);
strcat(match, "*");
l = sd->items;
n = 0;
while (l)
EINA_LIST_FOREACH(sd->items, l, si)
{
const char *label = NULL;
si = l->data;
if (si)
{
label = edje_object_part_text_get(si->o_base, "e.text.label");
@ -1221,7 +1217,6 @@ _e_typebuf_match(Evas_Object *obj)
break;
}
}
l = l->next;
n++;
}

View File

@ -151,12 +151,10 @@ e_init_client_data(Ecore_Ipc_Event_Client_Data *e)
for (i = 0; i < num; i+= 2)
{
Eina_List *l;
E_Manager *man;
for (l = e_manager_list(); l; l = l->next)
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
E_Manager *man;
man = l->data;
if (man->root == initwins[i + 0])
{
man->initwin = initwins[i + 1];
@ -191,13 +189,11 @@ e_init_client_del(Ecore_Ipc_Event_Client_Del *e)
if (e->client == client)
{
Eina_List *l;
E_Manager *man;
client = NULL;
for (l = e_manager_list(); l; l = l->next)
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
E_Manager *man;
man = l->data;
man->initwin = 0;
}
}

View File

@ -276,11 +276,9 @@ e_init_init(void)
screens = (Eina_List *)e_xinerama_screens_get();
if (screens)
{
for (l = screens; l; l = l->next)
E_Screen *scr;
EINA_LIST_FOREACH(screens, l, scr)
{
E_Screen *scr;
scr = l->data;
o = edje_object_add(_e_init_evas);
if (l == screens)
{
@ -485,7 +483,7 @@ _e_init_evas_new(Ecore_X_Window root, int w, int h, Ecore_X_Window *winret)
evas_image_cache_set(e, 4096 * 1024);
evas_font_cache_set(e, 512 * 1024);
EINA_LIST_FOREACH(fpath, l, path) evas_font_path_append(e, l->data);
EINA_LIST_FOREACH(fpath, l, path) evas_font_path_append(e, path);
if (font_hinting == 0)
{

View File

@ -157,18 +157,17 @@ static int
_check_matches(E_Border *bd, int matchflags)
{
Eina_List *l;
E_Border *bd2;
int n = 0;
const char *title;
title = e_border_name_get(bd);
for (l = e_border_client_list(); l; l = l->next)
EINA_LIST_FOREACH(e_border_client_list(), l, bd2)
{
E_Border *bd2;
int required_matches;
int matches;
const char *title2;
bd2 = l->data;
matches = 0;
required_matches = 0;
if (matchflags & E_REMEMBER_MATCH_NAME) required_matches++;

View File

@ -143,16 +143,15 @@ static void
_fill_data(E_Config_Dialog_Data *cfdata)
{
Eina_List *mdirs = NULL, *l = NULL;
E_Path_Dir *epd = NULL;
if (!cfdata) return;
/* loop each path_modules dir and load modules for that path */
mdirs = e_path_dir_list_get(path_modules);
for (l = mdirs; l; l = l->next)
EINA_LIST_FOREACH(mdirs, l, epd)
{
E_Path_Dir *epd = NULL;
if (!(epd = l->data)) continue;
if (!epd) continue;
if (!ecore_file_is_dir(epd->dir)) continue;
_load_modules(epd->dir);
}
@ -612,16 +611,16 @@ static void
_select_all_modules(Evas_Object *obj, void *data)
{
Eina_List *l = NULL;
E_Ilist_Item *item = NULL;
E_Config_Dialog_Data *cfdata = NULL;
int i = 0;
int i = -1;
if (!(cfdata = data)) return;
for (i = 0, l = e_widget_ilist_items_get(obj); l; l = l->next, i++)
EINA_LIST_FOREACH(e_widget_ilist_items_get(obj), l, item)
{
E_Ilist_Item *item = NULL;
CFModule *mod = NULL;
i++;
item = l->data;
if ((!item) || (!item->selected)) continue;
if (!(mod = e_widget_ilist_nth_data_get(obj, i))) continue;
mod->selected = 1;

View File

@ -216,6 +216,7 @@ _load_avail_gadgets(void *data)
{
E_Config_Dialog_Data *cfdata = NULL;
Eina_List *l = NULL;
E_Gadcon_Client_Class *cc;
Evas *evas;
int w;
@ -227,13 +228,12 @@ _load_avail_gadgets(void *data)
e_widget_ilist_clear(cfdata->o_avail);
// l = e_gadcon_provider_list();
// if (l) l = eina_list_sort(l, -1, _gad_list_sort);
for (l = e_gadcon_provider_list(); l; l = l->next)
EINA_LIST_FOREACH(e_gadcon_provider_list(), l, cc)
{
E_Gadcon_Client_Class *cc;
Evas_Object *icon = NULL;
const char *lbl = NULL;
if (!(cc = l->data)) continue;
if (!cc) continue;
// check the current site is allowed for this gadcon client
if (cc->func.is_site && !cc->func.is_site(cfdata->site))
continue;
@ -257,6 +257,8 @@ _load_sel_gadgets(void *data)
{
E_Config_Dialog_Data *cfdata = NULL;
Eina_List *l = NULL, *l2 = NULL;
E_Config_Gadcon_Client *cgc;
E_Gadcon_Client_Class *gcc;
Evas *evas;
int w;
@ -266,18 +268,15 @@ _load_sel_gadgets(void *data)
edje_freeze();
e_widget_ilist_freeze(cfdata->o_sel);
e_widget_ilist_clear(cfdata->o_sel);
for (l = cfdata->gc->cf->clients; l; l = l->next)
EINA_LIST_FOREACH(cfdata->gc->cf->clients, l, cgc)
{
E_Config_Gadcon_Client *cgc;
if (!(cgc = l->data)) continue;
for (l2 = e_gadcon_provider_list(); l2; l2 = l2->next)
if (!cgc) continue;
EINA_LIST_FOREACH(e_gadcon_provider_list(), l2, gcc)
{
E_Gadcon_Client_Class *gcc;
Evas_Object *icon = NULL;
const char *lbl = NULL;
if (!(gcc = l2->data)) continue;
if (!gcc) continue;
if ((cgc->name) && (gcc->name) &&
(!strcmp(cgc->name, gcc->name)))
{
@ -303,15 +302,17 @@ _cb_add(void *data, void *data2)
{
E_Config_Dialog_Data *cfdata = NULL;
Eina_List *l = NULL;
E_Ilist_Item *item = NULL;
int i = 0, update = 0;
if (!(cfdata = data)) return;
for (i = 0, l = e_widget_ilist_items_get(cfdata->o_avail); l; l = l->next, i++)
i = -1;
EINA_LIST_FOREACH(e_widget_ilist_items_get(cfdata->o_avail), l, item)
{
E_Ilist_Item *item = NULL;
const char *name = NULL;
if (!(item = l->data)) continue;
i++;
if (!item) continue;
if (!item->selected) continue;
name = (char *)e_widget_ilist_nth_data_get(cfdata->o_avail, i);
if (!name) continue;
@ -334,23 +335,24 @@ _cb_del(void *data, void *data2)
{
E_Config_Dialog_Data *cfdata = NULL;
Eina_List *l = NULL, *g = NULL;
E_Ilist_Item *item = NULL;
E_Config_Gadcon_Client *cgc;
int i = 0, update = 0;
if (!(cfdata = data)) return;
for (i = 0, l = e_widget_ilist_items_get(cfdata->o_sel); l; l = l->next, i++)
i = -1;
EINA_LIST_FOREACH(e_widget_ilist_items_get(cfdata->o_avail), l, item)
{
E_Ilist_Item *item = NULL;
const char *name = NULL;
if (!(item = l->data)) continue;
i++;
if (!item) continue;
if (!item->selected) continue;
name = (char *)e_widget_ilist_nth_data_get(cfdata->o_sel, i);
if (!name) continue;
for (g = cfdata->gc->cf->clients; g; g = g->next)
EINA_LIST_FOREACH(cfdata->gc->cf->clients, g, cgc)
{
E_Config_Gadcon_Client *cgc;
if (!(cgc = g->data)) continue;
if (!cgc) continue;
if (strcmp(name, cgc->name)) continue;
e_gadcon_client_config_del(cfdata->gc->cf, cgc);
update = 1;

View File

@ -889,6 +889,7 @@ static void
_e_int_menus_clients_menu_add_iconified(Eina_List *borders, E_Menu *m)
{
Eina_List *l = NULL;
E_Border *bd;
E_Menu_Item *mi;
if (eina_list_count(borders) > 0)
@ -896,11 +897,8 @@ _e_int_menus_clients_menu_add_iconified(Eina_List *borders, E_Menu *m)
mi = e_menu_item_new(m);
e_menu_item_separator_set(mi, 1);
for (l = borders; l; l = l->next)
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
_e_int_menus_clients_item_create(bd, m);
}
}
@ -910,16 +908,14 @@ static void
_e_int_menus_clients_add_by_class(Eina_List *borders, E_Menu *m)
{
Eina_List *l = NULL, *ico = NULL;
E_Border *bd;
E_Menu *subm = NULL;
E_Menu_Item *mi;
char *class = NULL;
class = strdup("");
for (l = borders; l; l = l->next)
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
if ((bd->iconic) &&
(e_config->clientlist_separate_iconified_apps == E_CLIENTLIST_GROUPICONS_SEP))
{
@ -963,15 +959,13 @@ _e_int_menus_clients_add_by_desk(E_Desk *curr_desk, Eina_List *borders, E_Menu *
{
E_Desk *desk = NULL;
Eina_List *l = NULL, *alt = NULL, *ico = NULL;
E_Border *bd;
E_Menu *subm;
E_Menu_Item *mi;
/* Deal with present desk first */
for (l = borders; l; l = l->next)
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
if (bd->iconic && e_config->clientlist_separate_iconified_apps && E_CLIENTLIST_GROUPICONS_SEP)
{
ico = eina_list_append(ico, bd);
@ -1002,11 +996,8 @@ _e_int_menus_clients_add_by_desk(E_Desk *curr_desk, Eina_List *borders, E_Menu *
e_menu_item_separator_set(mi, 1);
}
for (l = alt; l; l = l->next)
EINA_LIST_FOREACH(alt, l, bd)
{
E_Border *bd;
bd = l->data;
if ((bd->desk != desk) &&
(e_config->clientlist_separate_with != E_CLIENTLIST_GROUP_SEP_NONE))
{
@ -1042,12 +1033,10 @@ static void
_e_int_menus_clients_add_by_none(Eina_List *borders, E_Menu *m)
{
Eina_List *l = NULL, *ico = NULL;
E_Border *bd;
for (l = borders; l; l = l->next)
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
bd = l->data;
if ((bd->iconic) && (e_config->clientlist_separate_iconified_apps) &&
(E_CLIENTLIST_GROUPICONS_SEP))
{
@ -1065,6 +1054,7 @@ _e_int_menus_clients_pre_cb(void *data, E_Menu *m)
E_Menu *subm;
E_Menu_Item *mi;
Eina_List *l = NULL, *borders = NULL;
E_Border *border;
E_Zone *zone = NULL;
E_Desk *desk = NULL;
Main_Data *dat;
@ -1078,11 +1068,8 @@ _e_int_menus_clients_pre_cb(void *data, E_Menu *m)
l = e_border_focus_stack_get();
else
l = e_border_client_list();
for (; l; l = l->next)
EINA_LIST_FOREACH(l, l, border)
{
E_Border *border;
border = l->data;
if (border->client.netwm.state.skip_taskbar) continue;
if (border->user_skip_winlist) continue;
if ((border->zone == zone) || (border->iconic) ||
@ -1267,6 +1254,7 @@ _e_int_menus_lost_clients_pre_cb(void *data, E_Menu *m)
{
E_Menu_Item *mi;
Eina_List *l, *borders = NULL;
E_Border *bd;
E_Menu *root;
E_Zone *zone = NULL;
@ -1283,12 +1271,10 @@ _e_int_menus_lost_clients_pre_cb(void *data, E_Menu *m)
e_menu_item_label_set(mi, _("(No Windows)"));
return;
}
for (l = borders; l; l = l->next)
EINA_LIST_FOREACH(borders, l, bd)
{
E_Border *bd;
const char *title = "";
bd = l->data;
title = e_border_name_get(bd);
mi = e_menu_item_new(m);
if ((title) && (title[0]))
@ -1358,6 +1344,7 @@ _e_int_menus_shelves_pre_cb(void *data, E_Menu *m)
{
E_Menu_Item *mi;
Eina_List *l, *shelves = NULL;
E_Shelf *s;
E_Container *con;
E_Zone *zone;
@ -1374,13 +1361,12 @@ _e_int_menus_shelves_pre_cb(void *data, E_Menu *m)
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("(No Shelves)"));
}
for (l = shelves; l; l = l->next)
EINA_LIST_FOREACH(shelves, l, s)
{
E_Shelf *s;
const char *name;
char buf[4096];
if (!(s = l->data)) continue;
if (!s) continue;
if (s->zone->num != zone->num) continue;
if (s->cfg->container != con->num) continue;

View File

@ -180,16 +180,15 @@ _desk_sel_list_load(E_Config_Dialog_Data *cfdata)
{
E_Desk *desk;
Eina_List *l = NULL;
E_Config_Shelf_Desk *sd;
desk = e_desk_at_xy_get(cfdata->es->zone, x, y);
e_widget_ilist_append(cfdata->desk_sel_list, NULL, desk->name,
NULL, NULL, NULL);
for (l = cfdata->desk_list; l; l = l->next)
EINA_LIST_FOREACH(cfdata->desk_list, l, sd)
{
E_Config_Shelf_Desk *sd;
if (!(sd = l->data)) continue;
if (!sd) continue;
if ((sd->x != x) || (sd->y != y)) continue;
e_widget_ilist_multi_select(cfdata->desk_sel_list,
@ -413,14 +412,15 @@ _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
{
Eina_List *l = NULL;
Eina_List *desk_list = NULL;
E_Ilist_Item *item;
for (idx = 0, l = e_widget_ilist_items_get(cfdata->desk_sel_list); l; l = l->next, idx++)
idx = -1;
EINA_LIST_FOREACH(e_widget_ilist_items_get(cfdata->desk_sel_list), l, item)
{
E_Ilist_Item *item;
E_Desk *desk;
E_Config_Shelf_Desk *sd;
item = l->data;
idx++;
if ((!item) || (!item->selected)) continue;
desk = e_desk_at_pos_get(cfdata->es->zone, idx);
@ -456,14 +456,12 @@ _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
{
E_Desk *desk;
Eina_List *l;
E_Config_Shelf_Desk *sd;
int show_shelf=0;
desk = e_desk_current_get(cfdata->es->zone);
for (l = cfdata->escfg->desk_list; l; l = l->next)
EINA_LIST_FOREACH(cfdata->escfg->desk_list, l, sd)
{
E_Config_Shelf_Desk *sd;
sd = l->data;
if ((desk->x == sd->x) && (desk->y == sd->y))
{
show_shelf=1;
@ -565,6 +563,7 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
E_Radio_Group *rg;
Evas_Coord wmw, wmh;
Eina_List *styles, *l;
char *style;
int sel, n;
/* FIXME: this is just raw config now - it needs UI improvments */
@ -650,18 +649,20 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
sel = 0;
styles = e_theme_shelf_list();
for (n = 0, l = styles; l; l = l->next, n++)
n = 0;
EINA_LIST_FOREACH(styles, l, style)
{
char buf[4096];
ob = e_livethumb_add(evas);
e_livethumb_vsize_set(ob, 120, 40);
oj = edje_object_add(e_livethumb_evas_get(ob));
snprintf(buf, sizeof(buf), "e/shelf/%s/base", (char *)l->data);
snprintf(buf, sizeof(buf), "e/shelf/%s/base", style);
e_theme_edje_object_set(oj, "base/theme/shelf", buf);
e_livethumb_thumb_set(ob, oj);
e_widget_ilist_append(oi, ob, (char *)l->data, NULL, NULL, l->data);
if (!strcmp(cfdata->es->style, (char *)l->data)) sel = n;
e_widget_ilist_append(oi, ob, style, NULL, NULL, style);
if (!strcmp(cfdata->es->style, style)) sel = n;
n++;
}
e_widget_min_size_get(oi, &wmw, &wmh);
e_widget_min_size_set(oi, wmw, 160);

View File

@ -466,6 +466,8 @@ _e_intl_language_path_find(char *language)
Eina_List *search_list;
Eina_List *next_dir;
Eina_List *next_search;
E_Path_Dir *epd;
char *search_locale;
int found;
search_list = _e_intl_locale_search_order_get(language);
@ -477,18 +479,15 @@ _e_intl_language_path_find(char *language)
dir_list = e_path_dir_list_get(path_messages);
/* For each directory in the path */
for (next_dir = dir_list; next_dir && !found; next_dir = next_dir->next)
EINA_LIST_FOREACH(dir_list, next_dir, epd)
{
E_Path_Dir *epd;
epd = next_dir->data;
if (found) break;
/* Match canonicalized locale against each possible search */
for (next_search = search_list; next_search && !found; next_search = next_search->next)
EINA_LIST_FOREACH(search_list, next_search, search_locale)
{
char *search_locale;
char message_path[PATH_MAX];
search_locale = next_search->data;
snprintf(message_path, sizeof(message_path), "%s/%s/LC_MESSAGES/%s.mo", epd->dir, search_locale, PACKAGE);
if ((ecore_file_exists(message_path)) && (!ecore_file_is_dir(message_path)))
@ -580,19 +579,17 @@ _e_intl_locale_alias_hash_get(void)
{
Eina_List *next;
Eina_List *dir_list;
E_Path_Dir *epd;
Eina_Hash *alias_hash;
dir_list = e_path_dir_list_get(path_messages);
alias_hash = NULL;
for (next = dir_list; next; next = next->next)
EINA_LIST_FOREACH(dir_list, next, epd)
{
char buf[4096];
E_Path_Dir *epd;
FILE *f;
epd = next->data;
snprintf(buf, sizeof(buf), "%s/locale.alias", epd->dir);
f = fopen(buf, "r");
if (f)
@ -1027,16 +1024,15 @@ _e_intl_imc_dir_scan(const char *dir)
files = ecore_file_ls(dir);
EINA_LIST_FREE(files, file)
{
if (strstr(file, ".imc") != NULL)
{
if (strstr(file, ".imc") != NULL)
{
char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s/%s", dir, file);
imcs = eina_list_append(imcs, strdup(buf));
}
free(file);
char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s/%s", dir, file);
imcs = eina_list_append(imcs, strdup(buf));
}
free(file);
}
return imcs;
}

View File

@ -315,23 +315,17 @@ e_ipc_codec_str_list_dec(char *data, int bytes, Eina_List **dest)
{
E_Ipc_List *dat;
Eina_List *list = NULL, *l;
E_Ipc_Str *str_node;
if (!data) return 0;
dat = eet_data_descriptor_decode(_e_ipc_str_list_edd, data, bytes);
if (!dat) return 0;
for (l = dat->list; l; l = l->next)
EINA_LIST_FOREACH(dat->list, l, str_node)
{
E_Ipc_Str *str_node;
str_node = l->data;
list = eina_list_append(list, str_node->str);
}
if (dest) *dest = list;
while (dat->list)
{
free(dat->list->data);
dat->list = eina_list_remove_list(dat->list, dat->list);
}
E_FREE_LIST(dat->list, free);
free(dat);
return 1;
}
@ -341,23 +335,19 @@ e_ipc_codec_str_list_enc(Eina_List *list, int *size_ret)
{
E_Ipc_List dat;
Eina_List *l;
E_Ipc_Str *str_node;
char *str;
void *data;
dat.list = NULL;
for (l = list; l; l = l->next)
EINA_LIST_FOREACH(list, l, str)
{
E_Ipc_Str *str_node;
str_node = malloc(sizeof(E_Ipc_Str));
str_node->str = l->data;
str_node->str = str;
dat.list = eina_list_append(dat.list, str_node);
}
data = eet_data_descriptor_encode(_e_ipc_str_list_edd, &dat, size_ret);
while (dat.list)
{
free(dat.list->data);
dat.list = eina_list_remove_list(dat.list, dat.list);
}
E_FREE_LIST(dat.list, free);
return data;
}

View File

@ -358,10 +358,7 @@ case HDL: \
break;
# define FREE_LIST(__list) \
while (__list) { \
free(__list->data); \
__list = eina_list_remove_list(__list, __list); \
}
E_FREE_LIST(__list, free)
# define SEND_DATA(__opcode) \
ecore_ipc_client_send(e->client, E_IPC_DOMAIN_REPLY, __opcode, 0, 0, 0, data, bytes); \
@ -371,9 +368,8 @@ free(data);
case HDL: { \
Eina_List *dat = NULL, *l; \
if (e_ipc_codec_str_int_list_dec(e->data, e->size, &dat)) { \
for (l = dat; l; l = l->next) { \
E_Ipc_Str_Int *__v; \
__v = l->data;
E_Ipc_Str_Int *__v; \
EINA_LIST_FOREACH(dat, l, __v) {
#define END_STRING_INT_LIST(__v) \
E_FREE(__v->str); \
free(__v); \
@ -387,10 +383,9 @@ free(data);
case HDL: { \
Eina_List *dat = NULL, *l; \
void *data; int bytes; \
for (l = __list; l; l = l->next) { \
__typ1 *__v1; \
__typ1 *__v1; \
EINA_LIST_FOREACH(__list, l, __v1) { \
E_Ipc_Str_Int *__v2; \
__v1 = l->data; \
__v2 = calloc(1, sizeof(E_Ipc_Str_Int));
#define END_SEND_STRING_INT_LIST(__v1, __op) \
dat = eina_list_append(dat, __v1); \
@ -418,9 +413,9 @@ free(data);
Eina_List *dat = NULL, *l; \
if (e_ipc_codec_3int_3str_list_dec(e->data, e->size, &dat)) {
#define INT3_STRING3_LIST_ITERATE(__v) \
for (l = dat; l; l = l->next) { \
for (l = dat; l; l = eina_list_next(l)) { \
E_Ipc_3Int_3Str *__v; \
__v = l->data;
__v = eina_list_data_get(l);
#define END_INT3_STRING3_LIST(__v) \
END_INT3_STRING3_LIST_ITERATE(__v) \
END_INT3_STRING3_LIST_START()
@ -450,10 +445,9 @@ free(data);
case HDL: { \
Eina_List *dat = NULL, *l; \
void *data; int bytes; \
for (l = __list; l; l = l->next) { \
__typ1 *__v1; \
__typ1 *__v1; \
EINA_LIST_FOREACH(__list, l, __v1) { \
E_Ipc_3Int_3Str *__v2; \
__v1 = l->data; \
__v2 = calloc(1, sizeof(E_Ipc_3Int_3Str));
#define END_SEND_INT3_STRING3_LIST(__v1, __op) \
dat = eina_list_append(dat, __v1); \
@ -481,9 +475,9 @@ free(data);
Eina_List *dat = NULL, *l; \
if (e_ipc_codec_4int_2str_list_dec(e->data, e->size, &dat)) {
#define INT4_STRING2_LIST_ITERATE(__v) \
for (l = dat; l; l = l->next) { \
for (l = dat; l; l = eina_list_next(l)) { \
E_Ipc_4Int_2Str *__v; \
__v = l->data;
__v = eina_list_data_get(l);
#define END_INT4_STRING2_LIST(__v) \
END_INT4_STRING2_LIST_ITERATE(__v) \
END_INT4_STRING2_LIST_START()
@ -512,10 +506,9 @@ free(data);
case HDL: { \
Eina_List *dat = NULL, *l; \
void *data; int bytes; \
for (l = __list; l; l = l->next) { \
__typ1 *__v1; \
__typ1 *__v1; \
EINA_LIST_FOREACH(__list, l, __v1) { \
E_Ipc_4Int_2Str *__v2; \
__v1 = l->data; \
__v2 = calloc(1, sizeof(E_Ipc_4Int_2Str));
#define END_SEND_INT4_STRING2_LIST(__v1, __op) \
dat = eina_list_append(dat, __v1); \
@ -543,9 +536,9 @@ free(data);
Eina_List *dat = NULL, *l; \
if (e_ipc_codec_5int_2str_list_dec(e->data, e->size, &dat)) {
#define INT5_STRING2_LIST_ITERATE(__v) \
for (l = dat; l; l = l->next) { \
for (l = dat; l; l = eina_list_next(l)) { \
E_Ipc_5Int_2Str *__v; \
__v = l->data;
__v = eina_list_data_get(l);
#define END_INT5_STRING2_LIST(__v) \
END_INT5_STRING2_LIST_ITERATE(__v) \
END_INT5_STRING2_LIST_START()
@ -574,10 +567,9 @@ free(data);
case HDL: { \
Eina_List *dat = NULL, *l; \
void *data; int bytes; \
for (l = __list; l; l = l->next) { \
__typ1 *__v1; \
__typ1 *__v1; \
EINA_LIST_FOREACH(__list, l, __v1) { \
E_Ipc_5Int_2Str *__v2; \
__v1 = l->data; \
__v2 = calloc(1, sizeof(E_Ipc_5Int_2Str));
#define END_SEND_INT5_STRING2_LIST(__v1, __op) \
dat = eina_list_append(dat, __v1); \
@ -605,9 +597,9 @@ free(data);
Eina_List *dat = NULL, *l; \
if (e_ipc_codec_3int_4str_list_dec(e->data, e->size, &dat)) {
#define INT3_STRING4_LIST_ITERATE(__v) \
for (l = dat; l; l = l->next) { \
for (l = dat; l; l = eina_list_next(l)) { \
E_Ipc_3Int_4Str *__v; \
__v = l->data;
__v = eina_list_data_get(l);
#define END_INT3_STRING4_LIST(__v) \
END_INT3_STRING4_LIST_ITERATE(__v) \
END_INT3_STRING4_LIST_START()
@ -638,10 +630,9 @@ free(data);
case HDL: { \
Eina_List *dat = NULL, *l; \
void *data; int bytes; \
for (l = __list; l; l = l->next) { \
__typ1 *__v1; \
__typ1 *__v1; \
EINA_LIST_FOREACH(__list, l, __v1) { \
E_Ipc_3Int_4Str *__v2; \
__v1 = l->data; \
__v2 = calloc(1, sizeof(E_Ipc_3Int_4Str));
#define END_SEND_INT3_STRING4_LIST(__v1, __op) \
dat = eina_list_append(dat, __v1); \
@ -656,9 +647,8 @@ free(data);
case HDL: { \
Eina_List *dat = NULL, *l; \
if (e_ipc_codec_str_4int_list_dec(e->data, e->size, &dat)) { \
for (l = dat; l; l = l->next) { \
E_Ipc_Str_4Int *__v; \
__v = l->data;
E_Ipc_Str_4Int *__v; \
EINA_LIST_FOREACH(dat, l, __v) {
#define END_STRING_INT4_LIST(__v) \
E_FREE(__v->str); \
free(__v); \
@ -681,10 +671,9 @@ free(data);
case HDL: { \
Eina_List *dat = NULL, *l; \
void *data; int bytes; \
for (l = __list; l; l = l->next) { \
__typ1 *__v1; \
__typ1 *__v1; \
EINA_LIST_FOREACH(__list, l, __v1) { \
E_Ipc_Str_4Int *__v2; \
__v1 = l->data; \
__v2 = calloc(1, sizeof(E_Ipc_Str_4Int));
#define END_SEND_STRING_INT4_LIST(__v1, __op) \
dat = eina_list_append(dat, __v1); \
@ -708,9 +697,8 @@ free(data);
case HDL: { \
Eina_List *dat = NULL, *l; \
if (e_ipc_codec_2str_int_list_dec(e->data, e->size, &dat)) { \
for (l = dat; l; l = l->next) { \
E_Ipc_2Str_Int *__v; \
__v = l->data;
E_Ipc_2Str_Int *__v; \
EINA_LIST_FOREACH(dat, l, __v) {
#define END_STRING2_INT_LIST(__v) \
E_FREE(__v->str1); \
E_FREE(__v->str2); \
@ -734,10 +722,9 @@ free(data);
case HDL: { \
Eina_List *dat = NULL, *l; \
void *data; int bytes; \
for (l = __list; l; l = l->next) { \
__typ1 *__v1; \
__typ1 *__v1; \
EINA_LIST_FOREACH(__list, l, __v1) { \
E_Ipc_2Str_Int *__v2; \
__v1 = l->data; \
__v2 = calloc(1, sizeof(E_Ipc_2Str_Int));
#define END_SEND_STRING2_INT_LIST(__v1, __op) \
dat = eina_list_append(dat, __v1); \
@ -760,9 +747,8 @@ free(data);
case HDL: { \
Eina_List *dat = NULL, *l; \
if (e_ipc_codec_2str_list_dec(e->data, e->size, &dat)) { \
for (l = dat; l; l = l->next) { \
E_Ipc_2Str *__v; \
__v = l->data;
E_Ipc_2Str *__v; \
EINA_LIST_FOREACH(dat, l, __v) {
#define END_STRING2_LIST(__v) \
E_FREE(__v->str1); \
E_FREE(__v->str2); \
@ -786,10 +772,9 @@ free(data);
case HDL: { \
Eina_List *dat = NULL, *l; \
void *data; int bytes; \
for (l = __list; l; l = l->next) { \
__typ1 *__v1; \
__typ1 *__v1; \
EINA_LIST_FOREACH(__list, l, __v1) { \
E_Ipc_2Str *__v2; \
__v1 = l->data; \
__v2 = calloc(1, sizeof(E_Ipc_2Str));
#define END_SEND_STRING2_LIST(__v1, __op) \
dat = eina_list_append(dat, __v1); \
@ -863,7 +848,7 @@ break;
is the pointer to the current position in the list.
*/
#define FOR(__start) \
for (l = __start; l; l = l->next)
for (l = __start; l; l = eina_list_next(l))
#define GENERIC(HDL) \
case HDL: {
@ -1041,7 +1026,7 @@ break;
E_Response_Module_Data *md;
E_Ipc_Str_Int *v;
v = l->data;
v = eina_list_data_get(l);
md = malloc(sizeof(E_Response_Module_Data));
md->name = v->str;
@ -1117,7 +1102,7 @@ break;
E_Font_Available *fa;
Eina_List *fa_list;
fa_list = e_font_available_list();
FOR(fa_list) { fa = l->data;
FOR(fa_list) { fa = eina_list_data_get(l);
dat = eina_list_append(dat, fa->name);
}
ENCODE(dat, e_ipc_codec_str_list_enc);
@ -1139,8 +1124,10 @@ break;
LIST();
DECODE(e_ipc_codec_str_list_dec) {
FOR(dat) {
if (l->data) printf("REPLY: \"%s\"\n", (char *)(l->data));
else printf("REPLY: \"\"\n");
if (eina_list_data_get(l))
printf("REPLY: \"%s\"\n", (char *)eina_list_data_get(l));
else
printf("REPLY: \"\"\n");
}
FREE_LIST(dat);
}
@ -1212,7 +1199,7 @@ break;
LIST_ENCODE_START();
E_Font_Fallback *ff;
FOR(e_config->font_fallbacks) { ff = l->data;
FOR(e_config->font_fallbacks) { ff = eina_list_data_get(l);
dat = eina_list_append(dat, ff->name);
}
ENCODE(dat, e_ipc_codec_str_list_enc);
@ -1234,8 +1221,10 @@ break;
LIST();
DECODE(e_ipc_codec_str_list_dec) {
FOR(dat) {
if (l->data) printf("REPLY: \"%s\"\n", (char *)(l->data));
else printf("REPLY: \"\"\n");
if (eina_list_data_get(l))
printf("REPLY: \"%s\"\n", (char *)eina_list_data_get(l));
else
printf("REPLY: \"\"\n");
}
FREE_LIST(dat);
}
@ -1427,8 +1416,10 @@ break;
LIST();
DECODE(e_ipc_codec_str_list_dec) {
FOR(dat) {
if (l->data) printf("REPLY: \"%s\"\n", (char *)(l->data));
else printf("REPLY: \"\"\n");
if (eina_list_data_get(l))
printf("REPLY: \"%s\"\n", (char *)eina_list_data_get(l));
else
printf("REPLY: \"\"\n");
}
FREE_LIST(dat);
}
@ -1506,21 +1497,14 @@ break;
E_Path_Dir *p;
if (s) {
dat = eina_list_append(dat, eina_stringshare_add(s));
FOR(dir_list) { p = l->data;
FOR(dir_list) { p = eina_list_data_get(l);
dat = eina_list_append(dat, eina_stringshare_add(p->dir));
}
}
ENCODE(dat, e_ipc_codec_str_list_enc);
SEND_DATA(E_IPC_OP_DIRS_LIST_REPLY);
while (dat)
{
const char *dir;
dir = dat->data;
eina_stringshare_del(dir);
dat = eina_list_remove_list(dat, dat);
}
E_FREE_LIST(dat, eina_stringshare_del);
e_path_dir_list_free(dir_list);
END_STRING(s)
#elif (TYPE == E_REMOTE_IN)
@ -1539,9 +1523,9 @@ break;
DECODE(e_ipc_codec_str_list_dec) {
FOR(dat) {
if (dat == l)
printf("REPLY Listing for \"%s\"\n", (char *)(l->data));
printf("REPLY Listing for \"%s\"\n", (char *)eina_list_data_get(l));
else
printf("REPLY: \"%s\"\n", (char *)(l->data));
printf("REPLY: \"%s\"\n", (char *)eina_list_data_get(l));
}
FREE_LIST(dat);
}
@ -1566,9 +1550,9 @@ break;
count = 0;
FOR(dat) {
if (dat == l)
type = l->data;
type = eina_list_data_get(l);
else {
r->dirs[count] = l->data;
r->dirs[count] = eina_list_data_get(l);
count++;
}
}
@ -2207,21 +2191,16 @@ break;
E_CONFIG_LIMIT(e_config->zone_desks_x_count, 1, 64)
E_CONFIG_LIMIT(e_config->zone_desks_y_count, 1, 64)
{
Eina_List *l;
for (l = e_manager_list(); l; l = l->next)
Eina_List *l, *l2, *l3;
E_Manager *man;
E_Container *con;
E_Zone *zone;
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
E_Manager *man;
Eina_List *l2;
man = l->data;
for (l2 = man->containers; l2; l2 = l2->next)
EINA_LIST_FOREACH(man->containers, l2, con)
{
E_Container *con;
Eina_List *l3;
con = l2->data;
for (l3 = con->zones; l3; l3 = l3->next)
EINA_LIST_FOREACH(con->zones, l3, zone)
{
E_Zone *zone;
zone = l3->data;
e_zone_desk_count_set(zone,
e_config->zone_desks_x_count,
e_config->zone_desks_y_count);
@ -4654,7 +4633,7 @@ break;
Eina_List *m = e_manager_list();
int ok = 0;
if (m) {
E_Manager *man = m->data;
E_Manager *man = eina_list_data_get(m);
if (man) {
E_Action *act = e_action_find(actionName);
@ -5106,7 +5085,7 @@ break;
LIST();
DECODE(e_ipc_codec_str_list_dec) {
FOR(dat) {
printf("REPLY: \"%s\"\n", (char *)(l->data));
printf("REPLY: \"%s\"\n", (char *)eina_list_data_get(l));
}
FREE_LIST(dat);
}
@ -5230,12 +5209,11 @@ break;
#elif (TYPE == E_WM_IN)
START_INT(val, HDL);
Eina_List *ml;
E_Manager *man;
e_config->use_e_cursor = val;
E_CONFIG_LIMIT(e_config->use_e_cursor, 0, 1);
for (ml = e_manager_list(); ml; ml = ml->next)
EINA_LIST_FOREACH(e_manager_list(), ml, man)
{
E_Manager *man;
man = ml->data;
if (man->pointer) e_object_del(E_OBJECT(man->pointer));
man->pointer = e_pointer_window_new(man->root, 1);
}
@ -5690,7 +5668,7 @@ break;
LIST();
DECODE(e_ipc_codec_str_list_dec) {
FOR(dat) {
printf("REPLY: \"%s\"\n", (char *)(l->data));
printf("REPLY: \"%s\"\n", (char *)eina_list_data_get(l));
}
FREE_LIST(dat);
}
@ -6567,7 +6545,7 @@ break;
LIST();
DECODE(e_ipc_codec_str_list_dec) {
FOR(dat) {
printf("REPLY: \"%s\"\n", (char *)(l->data));
printf("REPLY: \"%s\"\n", (char *)eina_list_data_get(l));
}
FREE_LIST(dat);
}
@ -6601,7 +6579,7 @@ break;
LIST();
DECODE(e_ipc_codec_str_list_dec) {
FOR(dat) {
printf("REPLY: \"%s\"\n", (char *)(l->data));
printf("REPLY: \"%s\"\n", (char *)eina_list_data_get(l));
}
FREE_LIST(dat);
}
@ -6635,7 +6613,7 @@ break;
LIST();
DECODE(e_ipc_codec_str_list_dec) {
FOR(dat) {
printf("REPLY: \"%s\"\n", (char *)(l->data));
printf("REPLY: \"%s\"\n", (char *)eina_list_data_get(l));
}
FREE_LIST(dat);
}
@ -6770,7 +6748,7 @@ break;
LIST();
DECODE(e_ipc_codec_str_list_dec) {
FOR(dat) {
printf("REPLY: \"%s\"\n", (char *)(l->data));
printf("REPLY: \"%s\"\n", (char *)eina_list_data_get(l));
}
FREE_LIST(dat);
}
@ -7266,7 +7244,7 @@ break;
LIST();
DECODE(e_ipc_codec_str_list_dec) {
FOR(dat) {
printf("REPLY: \"%s\"\n", (char *)(l->data));
printf("REPLY: \"%s\"\n", (char *)eina_list_data_get(l));
}
FREE_LIST(dat);
}

View File

@ -173,7 +173,7 @@ e_layout_child_lower(Evas_Object *obj)
li = evas_object_data_get(obj, "e_layout_data");
if (!li) return;
if (!eina_list_data_find(li->sd->items, obj)) return;
if ((li->sd->items) && (li->sd->items->next))
if ((li->sd->items) && eina_list_next(li->sd->items))
{
li->sd->items = eina_list_remove(li->sd->items, obj);
evas_object_lower(obj);
@ -189,7 +189,7 @@ e_layout_child_raise(Evas_Object *obj)
li = evas_object_data_get(obj, "e_layout_data");
if (!li) return;
if (!eina_list_data_find(li->sd->items, obj)) return;
if ((li->sd->items) && (li->sd->items->next))
if ((li->sd->items) && eina_list_next(li->sd->items))
{
li->sd->items = eina_list_remove(li->sd->items, obj);
evas_object_raise(obj);
@ -206,7 +206,7 @@ e_layout_child_lower_below(Evas_Object *obj, Evas_Object *below)
if (!li) return;
if (!eina_list_data_find(li->sd->items, below)) return;
if (!eina_list_data_find(li->sd->items, obj)) return;
if ((li->sd->items) && (li->sd->items->next))
if ((li->sd->items) && eina_list_next(li->sd->items))
{
li->sd->items = eina_list_remove(li->sd->items, obj);
evas_object_stack_below(obj, below);
@ -223,7 +223,7 @@ e_layout_child_raise_above(Evas_Object *obj, Evas_Object *above)
if (!li) return;
if (!eina_list_data_find(li->sd->items, above)) return;
if (!eina_list_data_find(li->sd->items, obj)) return;
if ((li->sd->items) && (li->sd->items->next))
if ((li->sd->items) && eina_list_next(li->sd->items))
{
li->sd->items = eina_list_remove(li->sd->items, obj);
evas_object_stack_above(obj, above);
@ -315,6 +315,7 @@ _e_layout_smart_reconfigure(E_Smart_Data *sd)
{
Evas_Coord x, y, w, h;
Eina_List *l;
Evas_Object *obj;
if (!sd->changed) return;
@ -323,12 +324,9 @@ _e_layout_smart_reconfigure(E_Smart_Data *sd)
w = sd->w;
h = sd->h;
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Layout_Item *li;
Evas_Object *obj;
obj = l->data;
li = evas_object_data_get(obj, "e_layout_data");
_e_layout_smart_move_resize_item(li);
}
@ -406,7 +404,7 @@ _e_layout_smart_del(Evas_Object *obj)
{
Evas_Object *child;
child = sd->items->data;
child = eina_list_data_get(sd->items);
e_layout_unpack(child);
}
evas_object_del(sd->clip);
@ -417,6 +415,7 @@ static void
_e_layout_smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
{
E_Smart_Data *sd;
Evas_Object *item;
sd = evas_object_smart_data_get(obj);
if (!sd) return;
@ -428,12 +427,12 @@ _e_layout_smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
dx = x - sd->x;
dy = y - sd->y;
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, item)
{
Evas_Coord ox, oy;
evas_object_geometry_get(l->data, &ox, &oy, NULL, NULL);
evas_object_move(l->data, ox + dx, oy + dy);
evas_object_geometry_get(item, &ox, &oy, NULL, NULL);
evas_object_move(item, ox + dx, oy + dy);
}
}
sd->x = x;

View File

@ -1307,9 +1307,10 @@ static void
_e_main_manage_all(void)
{
Eina_List *l;
E_Manager *man;
for (l = e_manager_list(); l; l = l->next)
e_manager_manage_windows(l->data);
EINA_LIST_FOREACH(e_manager_list(), l, man)
e_manager_manage_windows(man);
}
static int
@ -1499,6 +1500,7 @@ static int
_e_main_cb_idler_before(void *data __UNUSED__)
{
Eina_List *l, *pl;
E_Before_Idler *eb;
e_menu_idler_before();
e_focus_idler_before();
@ -1506,23 +1508,15 @@ _e_main_cb_idler_before(void *data __UNUSED__)
e_popup_idler_before();
e_drag_idler_before();
e_pointer_idler_before();
for (l = _e_main_idler_before_list; l; l = l->next)
EINA_LIST_FOREACH(_e_main_idler_before_list, l, eb)
{
E_Before_Idler *eb;
eb = l->data;
if (!eb->delete_me)
{
if (!eb->func(eb->data)) eb->delete_me = 1;
}
}
for (l = _e_main_idler_before_list; l;)
EINA_LIST_FOREACH_SAFE(_e_main_idler_before_list, pl, l, eb)
{
E_Before_Idler *eb;
eb = l->data;
pl = l;
l = l->next;
if ((eb->once) || (eb->delete_me))
{
_e_main_idler_before_list =
@ -1574,25 +1568,21 @@ static void
_e_main_desk_save(void)
{
Eina_List *ml;
E_Manager *man;
char env[1024], name[1024];
for (ml = e_manager_list(); ml; ml = ml->next)
EINA_LIST_FOREACH(e_manager_list(), ml, man)
{
E_Manager *man;
Eina_List *cl;
E_Container *con;
man = ml->data;
for (cl = man->containers; cl; cl = cl->next)
EINA_LIST_FOREACH(man->containers, cl, con)
{
E_Container *con;
Eina_List *zl;
E_Zone *zone;
con = cl->data;
for (zl = con->zones; zl; zl = zl->next)
EINA_LIST_FOREACH(con->zones, zl, zone)
{
E_Zone *zone;
zone = zl->data;
snprintf(name, sizeof(name), "DESK_%d_%d_%d", man->num, con->num, zone->num);
snprintf(env, sizeof(env), "%d,%d", zone->desk_x_current, zone->desk_y_current);
e_util_env_set(name, env);
@ -1605,16 +1595,15 @@ static void
_e_main_desk_restore(E_Manager *man, E_Container *con)
{
Eina_List *zl;
E_Zone *zone;
char *env;
char name[1024];
for (zl = con->zones; zl; zl = zl->next)
EINA_LIST_FOREACH(con->zones, zl, zone)
{
E_Zone *zone;
E_Desk *desk;
int desk_x, desk_y;
zone = zl->data;
snprintf(name, sizeof(name), "DESK_%d_%d_%d", man->num, con->num, zone->num);
env = getenv(name);
if (!env) continue;

View File

@ -59,10 +59,7 @@ e_manager_init(void)
EAPI int
e_manager_shutdown(void)
{
E_Manager *man;
EINA_LIST_FREE(managers, man)
e_object_del(E_OBJECT(man));
E_FREE_LIST(managers, e_object_del);
if (frame_extents)
{
@ -323,15 +320,13 @@ EAPI void
e_manager_show(E_Manager *man)
{
Eina_List *l;
E_Container *con;
E_OBJECT_CHECK(man);
E_OBJECT_TYPE_CHECK(man, E_MANAGER_TYPE);
if (man->visible) return;
for (l = man->containers; l; l = l->next)
EINA_LIST_FOREACH(man->containers, l, con)
{
E_Container *con;
con = l->data;
e_container_show(con);
}
if (man->root != man->win)
@ -357,15 +352,13 @@ EAPI void
e_manager_hide(E_Manager *man)
{
Eina_List *l;
E_Container *con;
E_OBJECT_CHECK(man);
E_OBJECT_TYPE_CHECK(man, E_MANAGER_TYPE);
if (!man->visible) return;
for (l = man->containers; l; l = l->next)
EINA_LIST_FOREACH(man->containers, l, con)
{
E_Container *con;
con = l->data;
e_container_hide(con);
}
if (man->root != man->win)
@ -391,6 +384,7 @@ EAPI void
e_manager_resize(E_Manager *man, int w, int h)
{
Eina_List *l;
E_Container *con;
E_OBJECT_CHECK(man);
E_OBJECT_TYPE_CHECK(man, E_MANAGER_TYPE);
@ -400,11 +394,8 @@ e_manager_resize(E_Manager *man, int w, int h)
if (man->root != man->win)
ecore_x_window_resize(man->win, man->w, man->h);
for (l = man->containers; l; l = l->next)
EINA_LIST_FOREACH(man->containers, l, con)
{
E_Container *con;
con = l->data;
e_container_resize(con, man->w, man->h);
}
@ -415,6 +406,7 @@ EAPI void
e_manager_move_resize(E_Manager *man, int x, int y, int w, int h)
{
Eina_List *l;
E_Container *con;
E_OBJECT_CHECK(man);
E_OBJECT_TYPE_CHECK(man, E_MANAGER_TYPE);
@ -428,11 +420,8 @@ e_manager_move_resize(E_Manager *man, int x, int y, int w, int h)
man->h = h;
ecore_x_window_move_resize(man->win, man->x, man->y, man->w, man->h);
for (l = man->containers; l; l = l->next)
EINA_LIST_FOREACH(man->containers, l, con)
{
E_Container *con;
con = l->data;
e_container_resize(con, man->w, man->h);
}
}
@ -476,16 +465,15 @@ e_manager_current_get(void)
int x, y;
if (!managers) return NULL;
for (l = managers; l; l = l->next)
EINA_LIST_FOREACH(managers, l, man)
{
man = l->data;
ecore_x_pointer_xy_get(man->win, &x, &y);
if (x == -1 && y == -1)
continue;
if (E_INSIDE(x, y, man->x, man->y, man->w, man->h))
return man;
}
return managers->data;
return eina_list_data_get(managers);
}
EAPI E_Manager *
@ -495,9 +483,8 @@ e_manager_number_get(int num)
E_Manager *man;
if (!managers) return NULL;
for (l = managers; l; l = l->next)
EINA_LIST_FOREACH(managers, l, man)
{
man = l->data;
if (man->num == num)
return man;
}
@ -508,12 +495,10 @@ EAPI void
e_managers_keys_grab(void)
{
Eina_List *l;
E_Manager *man;
for (l = managers; l; l = l->next)
EINA_LIST_FOREACH(managers, l, man)
{
E_Manager *man;
man = l->data;
e_bindings_key_grab(E_BINDING_CONTEXT_ANY, man->root);
}
}
@ -522,12 +507,10 @@ EAPI void
e_managers_keys_ungrab(void)
{
Eina_List *l;
E_Manager *man;
for (l = managers; l; l = l->next)
EINA_LIST_FOREACH(managers, l, man)
{
E_Manager *man;
man = l->data;
e_bindings_key_ungrab(E_BINDING_CONTEXT_ANY, man->root);
}
}
@ -538,21 +521,10 @@ _e_manager_free(E_Manager *man)
{
Eina_List *l;
while (man->handlers)
{
Ecore_Event_Handler *h;
h = man->handlers->data;
man->handlers = eina_list_remove_list(man->handlers, man->handlers);
ecore_event_handler_del(h);
}
E_FREE_LIST(man->handlers, ecore_event_handler_del);
l = man->containers;
man->containers = NULL;
while (l)
{
e_object_del(E_OBJECT(l->data));
l = eina_list_remove_list(l, l);
}
E_FREE_LIST(l, e_object_del);
if (man->root != man->win)
{
ecore_x_window_free(man->win);
@ -903,13 +875,12 @@ _e_manager_get_for_root(Ecore_X_Window root)
E_Manager *man;
if (!managers) return NULL;
for (l = managers; l; l = l->next)
EINA_LIST_FOREACH(managers, l, man)
{
man = l->data;
if (man->root == root)
return man;
}
return managers->data;
return eina_list_data_get(managers);
}

View File

@ -128,23 +128,20 @@ EAPI void
e_maximize_border_shelf_fill(E_Border *bd, int *x1, int *y1, int *x2, int *y2, E_Maximize dir)
{
Eina_List *l, *rects = NULL;
E_Shelf *es;
E_Maximize_Rect *r;
for (l = e_shelf_list(); l; l = l->next)
EINA_LIST_FOREACH(e_shelf_list(), l, es)
{
E_Shelf *es;
Eina_List *ll;
E_Config_Shelf_Desk *sd;
es = l->data;
if (es->cfg->overlap) continue;
if (es->zone != bd->zone) continue;
if (es->cfg->desk_show_mode)
{
for (ll = es->cfg->desk_list; ll; ll = ll->next)
EINA_LIST_FOREACH(es->cfg->desk_list, ll, sd)
{
E_Config_Shelf_Desk *sd;
sd = ll->data;
if (!sd) continue;
if ((sd->x == bd->desk->x) && (sd->y == bd->desk->y))
{
@ -163,16 +160,14 @@ e_maximize_border_shelf_fill(E_Border *bd, int *x1, int *y1, int *x2, int *y2, E
if (rects)
{
_e_maximize_border_rects_fill(bd, rects, x1, y1, x2, y2, dir);
for (l = rects; l; l = l->next)
free(l->data);
eina_list_free(rects);
E_FREE_LIST(rects, free);
}
}
EAPI void
e_maximize_border_border_fill(E_Border *bd, int *x1, int *y1, int *x2, int *y2, E_Maximize dir)
{
Eina_List *l, *rects = NULL;
Eina_List *rects = NULL;
E_Border_List *bl;
E_Maximize_Rect *r;
E_Border *bd2;
@ -188,9 +183,7 @@ e_maximize_border_border_fill(E_Border *bd, int *x1, int *y1, int *x2, int *y2,
if (rects)
{
_e_maximize_border_rects_fill(bd, rects, x1, y1, x2, y2, dir);
for (l = rects; l; l = l->next)
free(l->data);
eina_list_free(rects);
E_FREE_LIST(rects, free);
}
}
@ -273,6 +266,7 @@ static void
_e_maximize_border_rects_fill_horiz(E_Border *bd, Eina_List *rects, int *x1, int *x2, int *bx, int *by, int *bw, int *bh)
{
Eina_List *l;
E_Maximize_Rect *rect;
int cx1, cx2;
cx1 = bd->zone->x;
@ -282,11 +276,8 @@ _e_maximize_border_rects_fill_horiz(E_Border *bd, Eina_List *rects, int *x1, int
if (x2) cx2 = *x2;
/* Expand left */
for (l = rects; l; l = l->next)
EINA_LIST_FOREACH(rects, l, rect)
{
E_Maximize_Rect *rect;
rect = l->data;
if ((rect->x2 > cx1) && (rect->x2 <= *bx) &&
E_INTERSECTS(0, rect->y1, bd->zone->w, (rect->y2 - rect->y1), 0, *by, bd->zone->w, *bh))
{
@ -297,11 +288,8 @@ _e_maximize_border_rects_fill_horiz(E_Border *bd, Eina_List *rects, int *x1, int
*bx = cx1;
/* Expand right */
for (l = rects; l; l = l->next)
EINA_LIST_FOREACH(rects, l, rect)
{
E_Maximize_Rect *rect;
rect = l->data;
if ((rect->x1 < cx2) && (rect->x1 >= (*bx + *bw)) &&
E_INTERSECTS(0, rect->y1, bd->zone->w, (rect->y2 - rect->y1), 0, *by, bd->zone->w, *bh))
{
@ -318,6 +306,7 @@ static void
_e_maximize_border_rects_fill_vert(E_Border *bd, Eina_List *rects, int *y1, int *y2, int *bx, int *by, int *bw, int *bh)
{
Eina_List *l;
E_Maximize_Rect *rect;
int cy1, cy2;
cy1 = bd->zone->y;
@ -327,11 +316,8 @@ _e_maximize_border_rects_fill_vert(E_Border *bd, Eina_List *rects, int *y1, int
if (y2) cy2 = *y2;
/* Expand up */
for (l = rects; l; l = l->next)
EINA_LIST_FOREACH(rects, l, rect)
{
E_Maximize_Rect *rect;
rect = l->data;
if ((rect->y2 > cy1) && (rect->y2 <= *by) &&
E_INTERSECTS(rect->x1, 0, (rect->x2 - rect->x1), bd->zone->h, *bx, 0, *bw, bd->zone->h))
{
@ -342,11 +328,8 @@ _e_maximize_border_rects_fill_vert(E_Border *bd, Eina_List *rects, int *y1, int
*by = cy1;
/* Expand down */
for (l = rects; l; l = l->next)
EINA_LIST_FOREACH(rects, l, rect)
{
E_Maximize_Rect *rect;
rect = l->data;
if ((rect->y1 < cy2) && (rect->y1 >= (*by + *bh)) &&
E_INTERSECTS(rect->x1, 0, (rect->x2 - rect->x1), bd->zone->h, *bx, 0, *bw, bd->zone->h))
{

View File

@ -155,6 +155,8 @@ e_menu_init(void)
EAPI int
e_menu_shutdown(void)
{
E_Menu *m;
E_FN_DEL(ecore_event_handler_del, _e_menu_key_down_handler);
E_FN_DEL(ecore_event_handler_del, _e_menu_key_up_handler);
E_FN_DEL(ecore_event_handler_del, _e_menu_mouse_down_handler);
@ -163,16 +165,10 @@ e_menu_shutdown(void)
E_FN_DEL(ecore_event_handler_del, _e_menu_mouse_wheel_handler);
E_FN_DEL(ecore_event_handler_del, _e_menu_window_shape_handler);
while (_e_active_menus)
EINA_LIST_FREE(_e_active_menus, m)
{
E_Menu *m;
m = _e_active_menus->data;
m->active = 0;
_e_menu_unrealize(m);
_e_active_menus =
eina_list_remove_list(_e_active_menus, _e_active_menus);
m->in_active_list = 0;
e_object_unref(E_OBJECT(m));
}
@ -1957,19 +1953,15 @@ _e_menu_item_activate_next(void)
{
/* Look at the next item and then cycle until we're not on
* a separator. */
if (!(ll->next))
ll = mi->menu->items;
else
ll = ll->next;
mi = ll->data;
while (mi->separator || mi->disable)
do
{
if (!(ll->next))
if (!eina_list_next(ll))
ll = mi->menu->items;
else
ll = ll->next;
mi = ll->data;
ll = eina_list_next(ll);
mi = eina_list_data_get(ll);
}
while (mi->separator || mi->disable);
e_menu_item_active_set(mi, 1);
_e_menu_item_ensure_onscreen(mi);
@ -1991,19 +1983,15 @@ _e_menu_item_activate_previous(void)
{
/* Look at the prev item and then cycle until we're not on
* a separator. */
if (!(ll->prev))
ll = eina_list_last(ll);
else
ll = ll->prev;
mi = ll->data;
while (mi->separator || mi->disable)
do
{
if (!(ll->prev))
if (!eina_list_prev(ll))
ll = eina_list_last(ll);
else
ll = ll->prev;
mi = ll->data;
ll = eina_list_prev(ll);
mi = eina_list_data_get(ll);
}
while (mi->separator || mi->disable);
e_menu_item_active_set(mi, 1);
_e_menu_item_ensure_onscreen(mi);
@ -2024,11 +2012,11 @@ _e_menu_item_activate_first(void)
if (m)
{
ll = m->items;
mi = ll->data;
while ((mi->separator) && (ll->next))
mi = eina_list_data_get(ll);
while ((mi->separator) && eina_list_next(ll))
{
ll = ll->next;
mi = ll->data;
ll = eina_list_next(ll);
mi = eina_list_data_get(ll);
}
if (mi->separator) return;
e_menu_item_active_set(mi, 1);
@ -2049,11 +2037,11 @@ _e_menu_item_activate_last(void)
if (m)
{
ll = eina_list_last(m->items);
mi = ll->data;
while ((mi->separator) && (ll->prev))
mi = eina_list_data_get(ll);
while ((mi->separator) && eina_list_prev(ll))
{
ll = ll->prev;
mi = ll->data;
ll = eina_list_prev(ll);
mi = eina_list_data_get(ll);
}
if (mi->separator) return;
e_menu_item_active_set(mi, 1);
@ -2103,7 +2091,7 @@ _e_menu_item_activate_char(const char * key_compose)
if (!m)
{
if (!_e_active_menus) return;
m = _e_active_menus->data;
m = eina_list_data_get(_e_active_menus);
if (!m) return;
}
@ -2112,7 +2100,7 @@ _e_menu_item_activate_char(const char * key_compose)
if (!ll)
{
ll = m->items;
mi = ll->data;
mi = eina_list_data_get(ll);
/* Only check the current item if it wasn't active before. */
if (!mi->separator && mi->label && !strncasecmp(key_compose, mi->label, strlen(key_compose)))
{
@ -2124,32 +2112,27 @@ _e_menu_item_activate_char(const char * key_compose)
ll_orig = ll;
mi = ll->data;
if (!(ll->next))
mi = eina_list_data_get(ll);
if (!eina_list_next(ll))
ll = mi->menu->items;
else
ll = ll->next;
mi = ll->data;
ll = eina_list_next(ll);
mi = eina_list_data_get(ll);
/* While we don't have a label OR we don't match AND we haven't
* wrapped around */
while ((!mi->label || strncasecmp(key_compose, mi->label, strlen(key_compose)))
&& ll != ll_orig)
{
if (!(ll->next))
ll = mi->menu->items;
else
ll = ll->next;
mi = ll->data;
while (mi->separator)
{
if (!(ll->next))
ll = mi->menu->items;
else
ll = ll->next;
mi = ll->data;
do
{
if (!eina_list_next(ll))
ll = mi->menu->items;
else
ll = eina_list_next(ll);
mi = eina_list_data_get(ll);
}
while (mi->separator);
}
e_menu_item_active_set(mi, 1);
@ -2169,7 +2152,7 @@ _e_menu_activate_next(void)
{
if (mi->submenu->items)
{
mi = mi->submenu->items->data;
mi = eina_list_data_get(mi->submenu->items);
e_menu_item_active_set(mi, 1);
_e_menu_item_ensure_onscreen(mi);
}
@ -2206,14 +2189,14 @@ _e_menu_activate_first(void)
Eina_List *ll;
if (!_e_active_menus) return;
m = _e_active_menus->data;
m = eina_list_data_get(_e_active_menus);
if (!m->items) return;
ll = m->items;
mi = ll->data;
while ((mi->separator) && (ll->next))
mi = eina_list_data_get(ll);
while ((mi->separator) && eina_list_next(ll))
{
ll = ll->next;
mi = ll->data;
ll = eina_list_next(ll);
mi = eina_list_data_get(ll);
}
if (mi->separator) return;
e_menu_item_active_set(mi, 1);
@ -2228,14 +2211,14 @@ _e_menu_activate_last(void)
Eina_List *ll;
if (!_e_active_menus) return;
m = _e_active_menus->data;
m = eina_list_data_get(_e_active_menus);
if (!m->items) return;
ll = eina_list_last(m->items);
mi = ll->data;
while ((mi->separator) && (ll->prev))
mi = eina_list_data_get(ll);
while ((mi->separator) && eina_list_prev(ll))
{
ll = ll->prev;
mi = ll->data;
ll = eina_list_prev(ll);
mi = eina_list_data_get(ll);
}
if (mi->separator) return;
e_menu_item_active_set(mi, 1);
@ -2380,7 +2363,7 @@ _e_menu_mouse_autoscroll_check(void)
{
E_Menu *m;
m = _e_active_menus->data;
m = eina_list_data_get(_e_active_menus);
if (_e_menu_x + e_config->menu_autoscroll_cursor_margin >= (m->zone->w - 1))
{
if (_e_menu_outside_bounds_get(1, 0)) autoscroll_x = 1;

View File

@ -101,6 +101,7 @@ e_module_new(const char *name)
const char *modpath;
char *s;
Eina_List *l;
E_Config_Module *em;
int in_list = 0;
if (!name) return NULL;
@ -199,11 +200,9 @@ init_done:
}
}
}
for (l = e_config->modules; l; l = l->next)
EINA_LIST_FOREACH(e_config->modules, l, em)
{
E_Config_Module *em;
if (!(em = l->data)) continue;
if (!em) continue;
if (!e_util_strcmp(em->name, m->name))
{
in_list = 1;
@ -408,12 +407,10 @@ EAPI void
e_module_delayed_set(E_Module *m, int delayed)
{
Eina_List *l;
E_Config_Module *em;
for (l = e_config->modules; l; l = l->next)
EINA_LIST_FOREACH(e_config->modules, l, em)
{
E_Config_Module *em;
em = l->data;
if (!em) continue;
if (!e_util_strcmp(m->name, em->name))
{
@ -433,12 +430,11 @@ e_module_priority_set(E_Module *m, int priority)
/* Set the loading order for a module.
More priority means load earlier */
Eina_List *l;
E_Config_Module *em;
for (l = e_config->modules; l; l = l->next)
EINA_LIST_FOREACH(e_config->modules, l, em)
{
E_Config_Module *em;
if (!(em = l->data)) continue;
if (!em) continue;
if (!e_util_strcmp(m->name, em->name))
{
if (em->priority != priority)
@ -535,7 +531,7 @@ _e_module_cb_idler(void *data)
const char *name;
E_Module *m;
name = _e_modules_delayed->data;
name = eina_list_data_get(_e_modules_delayed);
_e_modules_delayed = eina_list_remove_list(_e_modules_delayed, _e_modules_delayed);
m = NULL;
if (name) m = e_module_new(name);

View File

@ -43,7 +43,7 @@ e_msg_init(void)
EAPI int
e_msg_shutdown(void)
{
while (handlers) e_msg_handler_del(handlers->data);
while (handlers) e_msg_handler_del(eina_list_data_get(handlers));
E_EVENT_MSG = 0;
if (hand) ecore_event_handler_del(hand);
hand = NULL;
@ -115,25 +115,19 @@ _e_msg_event_cb(void *data, int ev_type, void *ev)
{
E_Msg_Event *e;
Eina_List *l;
E_Msg_Handler *emsgh;
processing_handlers++;
e = ev;
for (l = handlers; l; l = l->next)
EINA_LIST_FOREACH(handlers, l, emsgh)
{
E_Msg_Handler *emsgh;
emsgh = l->data;
if (!emsgh->delete_me)
emsgh->func(emsgh->data, e->name, e->info, e->val, e->obj);
}
processing_handlers--;
if ((processing_handlers == 0) && (del_handlers))
{
while (del_handlers)
{
e_msg_handler_del(del_handlers->data);
del_handlers = eina_list_remove_list(del_handlers, del_handlers);
}
E_FREE_LIST(del_handlers, e_msg_handler_del);
}
return 1;
}

View File

@ -216,8 +216,8 @@ _e_msgbus_module_disable_cb(E_DBus_Object *obj, DBusMessage *msg)
static DBusMessage*
_e_msgbus_module_list_cb(E_DBus_Object *obj, DBusMessage *msg)
{
Eina_List *mod_list;
Eina_List * l;
Eina_List *l;
E_Module *mod;
DBusMessage *reply;
DBusMessageIter iter;
DBusMessageIter arr;
@ -226,16 +226,12 @@ _e_msgbus_module_list_cb(E_DBus_Object *obj, DBusMessage *msg)
dbus_message_iter_init_append(reply, &iter);
dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, "(si)", &arr);
mod_list = e_module_list();
for (l = mod_list; l; l = l->next)
EINA_LIST_FOREACH(e_module_list(), l, mod)
{
DBusMessageIter sub;
E_Module *mod;
const char *name;
int enabled;
mod = l->data;
name = mod->name;
enabled = mod->enabled;
dbus_message_iter_open_container(&arr, DBUS_TYPE_STRUCT, NULL, &sub);
@ -286,8 +282,8 @@ _e_msgbus_profile_get_cb(E_DBus_Object *obj, DBusMessage *msg)
static DBusMessage*
_e_msgbus_profile_list_cb(E_DBus_Object *obj, DBusMessage *msg)
{
Eina_List *profiles;
Eina_List * l;
Eina_List *l;
const char *name;
DBusMessage *reply;
DBusMessageIter iter;
DBusMessageIter arr;
@ -296,13 +292,8 @@ _e_msgbus_profile_list_cb(E_DBus_Object *obj, DBusMessage *msg)
dbus_message_iter_init_append(reply, &iter);
dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, "s", &arr);
profiles = e_config_profile_list();
for (l = profiles; l; l = l->next)
EINA_LIST_FOREACH(e_config_profile_list(), l, name)
{
const char *name;
name = l->data;
dbus_message_iter_append_basic(&arr, DBUS_TYPE_STRING, &name);
}
dbus_message_iter_close_container(&iter, &arr);

View File

@ -287,13 +287,14 @@ void
e_object_breadcrumb_del(E_Object *obj, char *crumb)
{
Eina_List *l;
char *key;
E_OBJECT_CHECK(obj);
for (l = obj->crumbs; l; l = l->next)
EINA_LIST_FOREACH(obj->crumbs, l, key)
{
if (!strcmp(crumb, l->data))
if (!strcmp(crumb, key))
{
free(l->data);
free(key);
obj->crumbs = eina_list_remove_list(obj->crumbs, l);
return;
}
@ -304,10 +305,11 @@ void
e_object_breadcrumb_debug(E_Object *obj)
{
Eina_List *l;
char *key;
E_OBJECT_CHECK(obj);
for (l = obj->crumbs; l; l = l->next)
printf("CRUMB: %s\n", l->data);
EINA_LISt_FOREACH(obj->crumbs, l, key)
printf("CRUMB: %s\n", key);
}
*/

View File

@ -30,11 +30,7 @@ e_order_shutdown(void)
{
orders = eina_list_free(orders);
while (handlers)
{
ecore_event_handler_del(handlers->data);
handlers = eina_list_remove_list(handlers, handlers);
}
E_FREE_LIST(handlers, ecore_event_handler_del);
return 1;
}
@ -75,7 +71,7 @@ e_order_remove(E_Order *eo, Efreet_Desktop *desktop)
tmp = eina_list_data_find_list(eo->desktops, desktop);
if (!tmp) return;
efreet_desktop_free(tmp->data);
efreet_desktop_free(eina_list_data_get(tmp));
eo->desktops = eina_list_remove_list(eo->desktops, tmp);
_e_order_save(eo);
}
@ -106,16 +102,15 @@ EAPI void
e_order_files_append(E_Order *eo, Eina_List *files)
{
Eina_List *l;
const char *file;
E_OBJECT_CHECK(eo);
E_OBJECT_TYPE_CHECK(eo, E_ORDER_TYPE);
for (l = files; l ; l = l->next)
EINA_LIST_FOREACH(files, l, file)
{
Efreet_Desktop *desktop;
const char *file;
file = l->data;
desktop = efreet_desktop_get(file);
if (!desktop) continue;
eo->desktops = eina_list_append(eo->desktops, desktop);
@ -127,16 +122,15 @@ EAPI void
e_order_files_prepend_relative(E_Order *eo, Eina_List *files, Efreet_Desktop *before)
{
Eina_List *l;
const char *file;
E_OBJECT_CHECK(eo);
E_OBJECT_TYPE_CHECK(eo, E_ORDER_TYPE);
for (l = files; l ; l = l->next)
EINA_LIST_FOREACH(files, l, file)
{
Efreet_Desktop *desktop;
const char *file;
file = l->data;
desktop = efreet_desktop_get(file);
if (!desktop) continue;
eo->desktops = eina_list_prepend_relative(eo->desktops, desktop, before);
@ -150,11 +144,7 @@ e_order_clear(E_Order *eo)
E_OBJECT_CHECK(eo);
E_OBJECT_TYPE_CHECK(eo, E_ORDER_TYPE);
while (eo->desktops)
{
efreet_desktop_free(eo->desktops->data);
eo->desktops = eina_list_remove_list(eo->desktops, eo->desktops);
}
E_FREE_LIST(eo->desktops, efreet_desktop_free);
_e_order_save(eo);
}
@ -162,11 +152,7 @@ e_order_clear(E_Order *eo)
static void
_e_order_free(E_Order *eo)
{
while (eo->desktops)
{
efreet_desktop_free(eo->desktops->data);
eo->desktops = eina_list_remove_list(eo->desktops, eo->desktops);
}
E_FREE_LIST(eo->desktops, efreet_desktop_free);
if (eo->path) eina_stringshare_del(eo->path);
if (eo->monitor) ecore_file_monitor_del(eo->monitor);
orders = eina_list_remove(orders, eo);
@ -191,11 +177,7 @@ _e_order_read(E_Order *eo)
FILE *f;
char *dir;
while (eo->desktops)
{
efreet_desktop_free(eo->desktops->data);
eo->desktops = eina_list_remove_list(eo->desktops, eo->desktops);
}
E_FREE_LIST(eo->desktops, efreet_desktop_free);
if (!eo->path) return;
dir = ecore_file_dir_get(eo->path);
@ -245,17 +227,16 @@ _e_order_save(E_Order *eo)
{
FILE *f;
Eina_List *l;
Efreet_Desktop *desktop;
if (!eo->path) return;
f = fopen(eo->path, "wb");
if (!f) return;
for (l = eo->desktops; l; l = l->next)
EINA_LIST_FOREACH(eo->desktops, l, desktop)
{
Efreet_Desktop *desktop;
const char *id;
desktop = l->data;
id = efreet_util_path_to_file_id(desktop->orig_path);
if (id)
{
@ -275,35 +256,32 @@ _e_order_cb_efreet_desktop_change(void *data, int ev_type, void *ev)
{
Efreet_Event_Desktop_Change *event;
Eina_List *l;
E_Order *eo;
event = ev;
switch (event->change)
{
case EFREET_DESKTOP_CHANGE_ADD:
/* If a desktop is added, reread all .order files */
for (l = orders; l; l = l->next)
EINA_LIST_FOREACH(orders, l, eo)
{
E_Order *eo;
eo = l->data;
_e_order_read(eo);
if (eo->cb.update) eo->cb.update(eo->cb.data, eo);
}
break;
case EFREET_DESKTOP_CHANGE_REMOVE:
/* If a desktop is removed, drop the .desktop pointer */
for (l = orders; l; l = l->next)
EINA_LIST_FOREACH(orders, l, eo)
{
E_Order *eo;
Eina_List *l2;
Efreet_Desktop *desktop;
int changed = 0;
eo = l->data;
for (l2 = eo->desktops; l2; l2 = l2->next)
EINA_LIST_FOREACH(eo->desktops, l2, desktop)
{
if (l2->data == event->current)
if (desktop == event->current)
{
efreet_desktop_free(l2->data);
efreet_desktop_free(desktop);
eo->desktops = eina_list_remove_list(eo->desktops, l2);
changed = 1;
}
@ -313,18 +291,17 @@ _e_order_cb_efreet_desktop_change(void *data, int ev_type, void *ev)
break;
case EFREET_DESKTOP_CHANGE_UPDATE:
/* If a desktop is updated, point to the new desktop and update */
for (l = orders; l; l = l->next)
EINA_LIST_FOREACH(orders, l, eo)
{
E_Order *eo;
Eina_List *l2;
Efreet_Desktop *desktop;
int changed = 0;
eo = l->data;
for (l2 = eo->desktops; l2; l2 = l2->next)
EINA_LIST_FOREACH(eo->desktops, l2, desktop)
{
if (l2->data == event->previous)
if (desktop == event->previous)
{
efreet_desktop_free(l2->data);
efreet_desktop_free(desktop);
efreet_desktop_ref(event->current);
l2->data = event->current;
changed = 1;

View File

@ -161,6 +161,7 @@ EAPI void
e_path_user_path_remove(E_Path *ep, const char *path)
{
Eina_List *l;
E_Path_Dir *epd;
E_OBJECT_CHECK(ep);
E_OBJECT_TYPE_CHECK(ep, E_PATH_TYPE);
@ -178,11 +179,8 @@ e_path_user_path_remove(E_Path *ep, const char *path)
if (!new_path) return;
strcpy(new_path, home_dir);
strcat(new_path, path + 1);
for (l = *(ep->user_dir_list); l; l = l->next)
EINA_LIST_FOREACH(*(ep->user_dir_list), l, epd)
{
E_Path_Dir *epd;
epd = l->data;
if (epd->dir)
{
if (!strcmp(epd->dir, new_path))
@ -201,10 +199,8 @@ e_path_user_path_remove(E_Path *ep, const char *path)
}
else
{
for (l = *(ep->user_dir_list); l; l = l->next)
EINA_LIST_FOREACH(*(ep->user_dir_list), l, epd)
{
E_Path_Dir *epd;
epd = l->data;
if (epd->dir)
{
if (!strcmp(epd->dir, path))
@ -223,12 +219,10 @@ e_path_user_path_remove(E_Path *ep, const char *path)
EAPI void
e_path_user_path_clear(E_Path *ep)
{
while (*(ep->user_dir_list))
{
E_Path_Dir *epd;
EINA_LIST_FREE(*(ep->user_dir_list), epd)
{
E_Path_Dir *epd;
epd = (*(ep->user_dir_list))->data;
*(ep->user_dir_list) = eina_list_remove_list(*(ep->user_dir_list), *(ep->user_dir_list));
eina_stringshare_del(epd->dir);
free(epd);
}
@ -268,11 +262,8 @@ e_path_find(E_Path *ep, const char *file)
}
}
/* Look in the users dir list */
for (l = *(ep->user_dir_list); l; l = l->next)
EINA_LIST_FOREACH(*(ep->user_dir_list), l, epd)
{
E_Path_Dir *epd;
epd = l->data;
if (epd->dir)
{
snprintf(buf, sizeof(buf), "%s/%s", epd->dir, file);
@ -294,8 +285,8 @@ e_path_find(E_Path *ep, const char *file)
EAPI void
e_path_evas_append(E_Path *ep, Evas *evas)
{
Eina_List *l;
Eina_List *dir_list;
E_Path_Dir *epd;
E_OBJECT_CHECK(ep);
E_OBJECT_TYPE_CHECK(ep, E_PATH_TYPE);
@ -303,16 +294,12 @@ e_path_evas_append(E_Path *ep, Evas *evas)
dir_list = e_path_dir_list_get(ep);
for (l = dir_list; l; l = l->next)
EINA_LIST_FREE(dir_list, epd)
{
E_Path_Dir *epd;
epd = l->data;
if (epd->dir) evas_font_path_append(evas, epd->dir);
eina_stringshare_del(epd->dir);
free(epd);
}
if (dir_list) eina_list_free(dir_list);
}
/* combine default_list and and user_list in and easy to use list */
@ -328,18 +315,16 @@ e_path_dir_list_get(E_Path *ep)
if (ep->user_dir_list)
{
for (l = *(ep->user_dir_list); l; l = l->next)
EINA_LIST_FOREACH(*(ep->user_dir_list), l, epd)
{
epd = l->data;
new_epd = malloc(sizeof(E_Path_Dir));
new_epd->dir = eina_stringshare_add(epd->dir);
dir_list = eina_list_append(dir_list, new_epd);
}
}
for (l = ep->default_dir_list; l; l = l->next)
EINA_LIST_FOREACH(ep->default_dir_list, l, epd)
{
epd = l->data;
new_epd = malloc(sizeof(E_Path_Dir));
new_epd->dir = eina_stringshare_add(epd->dir);
dir_list = eina_list_append(dir_list, new_epd);
@ -353,10 +338,8 @@ e_path_dir_list_free(Eina_List *dir_list)
{
E_Path_Dir *epd;
while (dir_list)
EINA_LIST_FREE(dir_list, epd)
{
epd = dir_list->data;
dir_list = eina_list_remove_list(dir_list, dir_list);
eina_stringshare_del(epd->dir);
free(epd);
}
@ -366,15 +349,13 @@ e_path_dir_list_free(Eina_List *dir_list)
static void
_e_path_free(E_Path *ep)
{
E_Path_Dir *epd;
_e_path_cache_free(ep);
while (ep->default_dir_list)
EINA_LIST_FREE(ep->default_dir_list, epd)
{
E_Path_Dir *epd;
epd = ep->default_dir_list->data;
eina_stringshare_del(epd->dir);
free(epd);
ep->default_dir_list = eina_list_remove_list(ep->default_dir_list,
ep->default_dir_list);
}
free(ep);
}

View File

@ -22,15 +22,14 @@ e_place_zone_region_smart_cleanup(E_Zone *zone)
{
int area;
Eina_List *ll;
E_Border *bd;
/* Ordering windows largest to smallest gives better results */
area = border->w * border->h;
for (ll = borders; ll; ll = ll->next)
EINA_LIST_FOREACH(borders, ll, bd)
{
int testarea;
E_Border *bd;
bd = ll->data;
testarea = bd->w * bd->h;
/* Insert the border if larger than the current border */
if (area >= testarea)
@ -46,15 +45,13 @@ e_place_zone_region_smart_cleanup(E_Zone *zone)
e_container_border_list_free(bl);
/* Loop over the borders moving each one using the smart placement */
while (borders)
EINA_LIST_FREE(borders, border)
{
int new_x, new_y;
border = borders->data;
e_place_zone_region_smart(zone, borders, border->x, border->y,
border->w, border->h, &new_x, &new_y);
e_border_move(border, new_x, new_y);
borders = eina_list_remove(borders, border);
}
}
@ -69,7 +66,7 @@ _e_place_coverage_border_add(E_Zone *zone, Eina_List *skiplist, int ar, int x, i
{
Eina_List *ll;
E_Border_List *bl;
E_Border *bd;
E_Border *bd, *bd2;
int x2, y2, w2, h2;
int ok;
int iw, ih;
@ -80,9 +77,9 @@ _e_place_coverage_border_add(E_Zone *zone, Eina_List *skiplist, int ar, int x, i
{
ok = 1;
x2 = (bd->x - zone->x); y2 = (bd->y - zone->y); w2 = bd->w; h2 = bd->h;
for (ll = skiplist; ll; ll = ll->next)
EINA_LIST_FOREACH(skiplist, ll, bd2)
{
if (ll->data == bd)
if (bd2 == bd)
{
ok = 0;
break;
@ -114,10 +111,8 @@ _e_place_coverage_shelf_add(E_Zone *zone, int ar, int x, int y, int w, int h)
E_Shelf *es;
int x2, y2, w2, h2;
for (l = e_shelf_list(); l; l = l->next)
EINA_LIST_FOREACH(e_shelf_list(), l, es)
{
es = l->data;
if (es->zone != zone) continue;
x2 = es->x; y2 = es->y; w2 = es->w; h2 = es->h;
if (E_INTERSECTS(x, y, w, h, x2, y2, w2, h2))
@ -151,7 +146,7 @@ e_place_zone_region_smart(E_Zone *zone, Eina_List *skiplist, int x, int y, int w
char *u_x = NULL, *u_y = NULL;
Eina_List *ll;
E_Border_List *bl;
E_Border *bd;
E_Border *bd, *bd2;
*rx = x;
*ry = y;
@ -195,13 +190,12 @@ e_place_zone_region_smart(E_Zone *zone, Eina_List *skiplist, int x, int y, int w
if (e_config->window_placement_policy == E_WINDOW_PLACEMENT_SMART)
{
Eina_List *l;
E_Shelf *es;
for (l = e_shelf_list(); l; l = l->next)
EINA_LIST_FOREACH(e_shelf_list(), l, es)
{
E_Shelf *es;
int bx, by, bw, bh;
es = l->data;
if (es->zone != zone) continue;
bx = es->x;
@ -278,9 +272,9 @@ e_place_zone_region_smart(E_Zone *zone, Eina_List *skiplist, int x, int y, int w
int bx, by, bw, bh;
ok = 1;
for (ll = skiplist; ll; ll = ll->next)
EINA_LIST_FOREACH(skiplist, ll, bd2)
{
if (ll->data == bd)
if (bd2 == bd)
{
ok = 0;
break;

View File

@ -62,14 +62,7 @@ e_pointer_init(void)
EAPI int
e_pointer_shutdown(void)
{
while (handlers)
{
Ecore_Event_Handler *h;
h = handlers->data;
handlers = eina_list_remove_list(handlers, handlers);
ecore_event_handler_del(h);
}
E_FREE_LIST(handlers, ecore_event_handler_del);
return 1;
}
@ -97,14 +90,13 @@ EAPI void
e_pointers_size_set(int size)
{
Eina_List *l;
E_Pointer *p;
if (!e_config->show_cursor) return;
for (l = _e_pointers; l; l = l->next)
EINA_LIST_FOREACH(_e_pointers, l, p)
{
E_Pointer *p;
Evas_Engine_Info_Buffer *einfo;
p = l->data;
if (p->evas)
{
p->w = p->h = size;
@ -173,9 +165,8 @@ e_pointer_type_pop(E_Pointer *p, void *obj, const char *type)
Eina_List *l;
E_Pointer_Stack *stack;
for (l = p->stack; l; l = l->next)
EINA_LIST_FOREACH(p->stack, l, stack)
{
stack = l->data;
if ((stack->obj == obj) && ((!type) || (!strcmp(stack->type, type))))
{
_e_pointer_stack_free(stack);
@ -193,7 +184,7 @@ e_pointer_type_pop(E_Pointer *p, void *obj, const char *type)
return;
}
stack = p->stack->data;
stack = eina_list_data_get(p->stack);
_e_pointer_type_set(p, stack->type);
if (p->type) eina_stringshare_del(p->type);
@ -208,14 +199,13 @@ EAPI void
e_pointer_idler_before(void)
{
Eina_List *l;
E_Pointer *p;
if (!e_config->show_cursor) return;
for (l = _e_pointers; l; l = l->next)
EINA_LIST_FOREACH(_e_pointers, l, p)
{
E_Pointer *p;
Eina_List *updates;
p = l->data;
if (!p->e_cursor) continue;
if (!p->evas) continue;
@ -333,11 +323,7 @@ _e_pointer_free(E_Pointer *p)
_e_pointer_canvas_del(p);
while (p->stack)
{
_e_pointer_stack_free(p->stack->data);
p->stack = eina_list_remove_list(p->stack, p->stack);
}
E_FREE_LIST(p->stack, _e_pointer_stack_free);
if (p->type) eina_stringshare_del(p->type);
if (p->idle_timer) ecore_timer_del(p->idle_timer);
@ -478,9 +464,8 @@ _e_pointer_cb_mouse_down(void *data, int type, void *event)
E_Pointer *p;
ev = event;
for (l = _e_pointers; l; l = l->next)
EINA_LIST_FOREACH(_e_pointers, l, p)
{
p = l->data;
_e_pointer_active_handle(p);
if (e_powersave_mode_get() < E_POWERSAVE_MODE_EXTREME)
{
@ -500,9 +485,8 @@ _e_pointer_cb_mouse_up(void *data, int type, void *event)
E_Pointer *p;
ev = event;
for (l = _e_pointers; l; l = l->next)
EINA_LIST_FOREACH(_e_pointers, l, p)
{
p = l->data;
_e_pointer_active_handle(p);
if (e_powersave_mode_get() < E_POWERSAVE_MODE_EXTREME)
{
@ -522,9 +506,8 @@ _e_pointer_cb_mouse_move(void *data, int type, void *event)
E_Pointer *p;
ev = event;
for (l = _e_pointers; l; l = l->next)
EINA_LIST_FOREACH(_e_pointers, l, p)
{
p = l->data;
_e_pointer_active_handle(p);
if (e_powersave_mode_get() < E_POWERSAVE_MODE_HIGH)
{
@ -544,9 +527,8 @@ _e_pointer_cb_mouse_wheel(void *data, int type, void *event)
E_Pointer *p;
ev = event;
for (l = _e_pointers; l; l = l->next)
EINA_LIST_FOREACH(_e_pointers, l, p)
{
p = l->data;
_e_pointer_active_handle(p);
if (e_powersave_mode_get() < E_POWERSAVE_MODE_EXTREME)
{

View File

@ -216,12 +216,10 @@ EAPI void
e_popup_idler_before(void)
{
Eina_List *l;
E_Popup *pop;
for (l = _e_popup_list; l; l = l->next)
EINA_LIST_FOREACH(_e_popup_list, l, pop)
{
E_Popup *pop;
pop = l->data;
if (pop->need_shape_export)
{
Ecore_X_Rectangle *rects, *orects;
@ -331,14 +329,12 @@ static int
_e_popup_cb_window_shape(void *data, int ev_type, void *ev)
{
Eina_List *l;
E_Popup *pop;
Ecore_X_Event_Window_Shape *e;
e = ev;
for (l = _e_popup_list; l; l = l->next)
EINA_LIST_FOREACH(_e_popup_list, l, pop)
{
E_Popup *pop;
pop = l->data;
if (pop->evas_win == e->win)
pop->need_shape_export = 1;
}
@ -351,9 +347,8 @@ _e_popup_find_by_window(Ecore_X_Window win)
E_Popup *pop;
Eina_List *l;
for (l = _e_popup_list; l; l = l->next)
EINA_LIST_FOREACH(_e_popup_list, l, pop)
{
pop = l->data;
if (pop->evas_win == win) return pop;
}
return NULL;

View File

@ -134,13 +134,11 @@ e_powersave_mode_get(void)
static int
_e_powersave_cb_deferred_timer(void *data)
{
E_Powersave_Deferred_Action *pa;
walking_deferred_actions++;
while (deferred_actions)
EINA_LIST_FREE(deferred_actions, pa)
{
E_Powersave_Deferred_Action *pa;
pa = deferred_actions->data;
deferred_actions = eina_list_remove_list(deferred_actions, deferred_actions);
if (!pa->delete_me) pa->func((void *)pa->data);
free(pa);
}

View File

@ -20,26 +20,21 @@ EAPI int
e_remember_init(E_Startup_Mode mode)
{
Eina_List *l = NULL;
E_Remember *rem;
int not_updated = 0;
if (mode == E_STARTUP_START)
{
for (l = e_config->remembers; l; l = l->next)
EINA_LIST_FOREACH(e_config->remembers, l, rem)
{
E_Remember *rem;
rem = l->data;
if ((rem->apply & E_REMEMBER_APPLY_RUN) && (rem->prop.command))
e_util_head_exec(rem->prop.head, rem->prop.command);
}
}
#if 1
for (l = e_config->remembers; l; l = l->next)
EINA_LIST_FOREACH(e_config->remembers, l, rem)
{
E_Remember *rem;
rem = l->data;
/* Code to bring up old configs to scratch. Can be removed
* after X amount of time, where X is a figure that will be
* decided by whoever remembers to take this out. */
@ -110,13 +105,11 @@ e_remember_del(E_Remember *rem)
if (rem->used_count != 0)
{
Eina_List *l = NULL;
E_Border *bd;
rem->delete_me = 1;
for (l = e_border_client_list(); l; l = l->next)
EINA_LIST_FOREACH(e_border_client_list(), l, bd)
{
E_Border *bd;
bd = l->data;
if (bd->remember == rem)
{
bd->remember = NULL;
@ -170,9 +163,8 @@ e_remember_match_update(E_Remember *rem)
rem->max_score = max_count;
e_config->remembers = eina_list_remove(e_config->remembers, rem);
for (l = e_config->remembers; l; l = l->next)
EINA_LIST_FOREACH(e_config->remembers, l, r)
{
r = l->data;
if (r->max_score <= rem->max_score) break;
}
@ -364,16 +356,15 @@ static E_Remember *
_e_remember_find(E_Border *bd, int check_usable)
{
Eina_List *l = NULL;
E_Remember *rem;
#if REMEMBER_SIMPLE
for (l = e_config->remembers; l; l = l->next)
EINA_LIST_FOREACH(e_config->remembers, l, rem)
{
E_Remember *rem;
int required_matches;
int matches;
const char *title = "";
rem = l->data;
matches = 0;
required_matches = 0;
if (rem->match & E_REMEMBER_MATCH_NAME) required_matches++;
@ -420,12 +411,10 @@ _e_remember_find(E_Border *bd, int check_usable)
* with the most possible matches at the start of the list. This
* means, as soon as a valid match is found, it is a match
* within the set of best possible matches. */
for (l = e_config->remembers; l; l = l->next)
EINA_LIST_FOREACH(e_config->remembers, l, rem)
{
E_Remember *rem;
const char *title = "";
rem = l->data;
if ((check_usable) && (!e_remember_usable_get(rem)))
continue;

View File

@ -23,8 +23,10 @@ e_resist_container_border_position(E_Container *con, Eina_List *skiplist,
Eina_List *l, *ll, *rects = NULL;
E_Resist_Rect *r;
E_Border_List *bl;
E_Border *bd;
E_Border *bd, *bd2;
E_Desk *desk;
E_Shelf *es;
E_Zone *zone;
if (!e_config->use_resist)
{
@ -51,11 +53,8 @@ e_resist_container_border_position(E_Container *con, Eina_List *skiplist,
rects = eina_list_append(rects, r); \
}
for (l = con->zones; l; l = l->next)
EINA_LIST_FOREACH(con->zones, l, zone)
{
E_Zone *zone;
zone = l->data;
HOLDER(zone->x, zone->y, zone->w, zone->h, e_config->desk_resist);
}
/* FIXME: need to add resist or complete BLOCKS for things like ibar */
@ -70,9 +69,9 @@ e_resist_container_border_position(E_Container *con, Eina_List *skiplist,
int ok;
ok = 1;
for (ll = skiplist; ll; ll = ll->next)
EINA_LIST_FOREACH(skiplist, ll, bd2)
{
if (ll->data == bd)
if (bd2 == bd)
{
ok = 0;
break;
@ -87,21 +86,17 @@ e_resist_container_border_position(E_Container *con, Eina_List *skiplist,
e_container_border_list_free(bl);
desk = e_desk_current_get(e_zone_current_get(con));
for (l = e_shelf_list(); l; l = l->next)
EINA_LIST_FOREACH(e_shelf_list(), l, es)
{
E_Shelf *es;
Eina_List *ll;
E_Config_Shelf_Desk *sd;
es = l->data;
if (es->zone->container == con)
{
if (es->cfg->desk_show_mode)
{
for (ll = es->cfg->desk_list; ll; ll = ll->next)
EINA_LIST_FOREACH(es->cfg->desk_list, ll, sd)
{
E_Config_Shelf_Desk *sd;
sd = ll->data;
if (!sd) continue;
if ((sd->x == desk->x) && (sd->y == desk->y))
{
@ -125,11 +120,7 @@ e_resist_container_border_position(E_Container *con, Eina_List *skiplist,
x, y, w, h,
rx, ry, rw, rh);
for (l = rects; l; l = l->next)
{
E_FREE(l->data);
}
eina_list_free(rects);
E_FREE_LIST(rects, E_FREE);
}
return 1;
}
@ -142,6 +133,7 @@ e_resist_container_gadman_position(E_Container *con, Eina_List *skiplist,
{
Eina_List *l, *rects = NULL;
E_Resist_Rect *r;
E_Shelf *es;
if (!e_config->use_resist)
{
@ -150,11 +142,8 @@ e_resist_container_gadman_position(E_Container *con, Eina_List *skiplist,
return 0;
}
for (l = e_shelf_list(); l; l = l->next)
EINA_LIST_FOREACH(e_shelf_list(), l, es)
{
E_Shelf *es;
es = l->data;
if (es->zone->container == con)
{
OBSTACLE(es->x + es->zone->x, es->y + es->zone->y, es->w, es->h,
@ -169,11 +158,7 @@ e_resist_container_gadman_position(E_Container *con, Eina_List *skiplist,
x, y, w, h,
rx, ry, NULL, NULL);
for (l = rects; l; l = l->next)
{
E_FREE(l->data);
}
eina_list_free(rects);
E_FREE_LIST(rects, E_FREE);
}
return 1;
}
@ -195,9 +180,8 @@ _e_resist_rects(Eina_List *rects,
dw = w - pw;
dh = h - ph;
for (l = rects; l; l = l->next)
EINA_LIST_FOREACH(rects, l, r)
{
r = l->data;
if (E_SPANS_COMMON(r->y, r->h, y, h))
{
if (dx > 0)

View File

@ -45,7 +45,7 @@ e_shelf_shutdown(void)
{
E_Shelf *es;
es = shelves->data;
es = eina_list_data_get(shelves);
e_object_del(E_OBJECT(es));
}
@ -56,22 +56,21 @@ EAPI void
e_shelf_config_init(void)
{
Eina_List *l;
E_Config_Shelf *cf_es;
int id = 0;
while (shelves)
{
E_Shelf *es;
es = shelves->data;
es = eina_list_data_get(shelves);
e_object_del(E_OBJECT(es));
}
for (l = e_config->shelves; l; l = l->next)
EINA_LIST_FOREACH(e_config->shelves, l, cf_es)
{
E_Config_Shelf *cf_es;
E_Zone *zone;
cf_es = l->data;
if (cf_es->id <= 0) cf_es->id = id + 1;
zone = e_util_container_zone_id_get(cf_es->container, cf_es->zone);
if (zone)
@ -230,9 +229,8 @@ e_shelf_zone_move_resize_handle(E_Zone *zone)
E_Shelf *es;
Evas_Coord w, h;
for (l = shelves; l; l = l->next)
EINA_LIST_FOREACH(shelves, l, es)
{
es = l->data;
if (es->zone == zone)
{
E_Gadcon * gc;
@ -731,13 +729,11 @@ e_shelf_config_new(E_Zone *zone, E_Config_Shelf *cf_es)
{
E_Desk *desk;
Eina_List *ll;
E_Config_Shelf_Desk *sd;
desk = e_desk_current_get(zone);
for (ll = cf_es->desk_list; ll; ll = ll->next)
EINA_LIST_FOREACH(cf_es->desk_list, ll, sd)
{
E_Config_Shelf_Desk *sd;
sd = ll->data;
if ((desk->x == sd->x) && (desk->y == sd->y))
{
e_shelf_show(es);
@ -1068,15 +1064,13 @@ static void
_e_shelf_toggle_border_fix(E_Shelf *es)
{
Eina_List *l;
E_Border *bd;
if ((es->cfg->overlap) || (!e_config->border_fix_on_shelf_toggle))
return;
for (l = e_border_client_list(); l; l = l->next)
EINA_LIST_FOREACH(e_border_client_list(), l, bd)
{
E_Border *bd;
bd = l->data;
if ((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_NONE)
{
if (bd->lock_client_location) continue;

View File

@ -316,14 +316,12 @@ _e_smart_add(Evas_Object *obj)
static void
_e_smart_del(Evas_Object *obj)
{
E_Smart_Item *it;
INTERNAL_ENTRY;
if (sd->slide_animator) ecore_animator_del(sd->slide_animator);
while (sd->items)
EINA_LIST_FREE(sd->items, it)
{
E_Smart_Item *it;
it = sd->items->data;
sd->items = eina_list_remove_list(sd->items, sd->items);
if (it->label) eina_stringshare_del(it->label);
if (it->icon) eina_stringshare_del(it->icon);
free(it);

View File

@ -289,13 +289,11 @@ static int
_e_sys_cb_logout_timer(void *data)
{
Eina_List *l;
E_Border *bd;
int pending = 0;
for (l = e_border_client_list(); l; l = l->next)
EINA_LIST_FOREACH(e_border_client_list(), l, bd)
{
E_Border *bd;
bd = l->data;
if (!bd->internal) pending++;
}
if (pending == 0) goto after;
@ -356,6 +354,7 @@ static void
_e_sys_logout_begin(E_Sys_Action a_after)
{
Eina_List *l;
E_Border *bd;
E_Obj_Dialog *od;
/* start logout - at end do the a_after action */
@ -370,11 +369,8 @@ _e_sys_logout_begin(E_Sys_Action a_after)
if (_e_sys_dialog) e_object_del(E_OBJECT(_e_sys_dialog));
_e_sys_dialog = od;
_e_sys_action_after = a_after;
for (l = e_border_client_list(); l; l = l->next)
EINA_LIST_FOREACH(e_border_client_list(), l, bd)
{
E_Border *bd;
bd = l->data;
e_border_act_close_begin(bd);
}
/* and poll to see if all pending windows are gone yet every 0.5 sec */

View File

@ -289,6 +289,7 @@ _e_table_smart_reconfigure(E_Smart_Data *sd)
{
Evas_Coord x, y, w, h, xx, yy;
Eina_List *l;
Evas_Object *obj;
int minw, minh, expandw, expandh;
if (!sd->changed) return;
@ -314,12 +315,10 @@ _e_table_smart_reconfigure(E_Smart_Data *sd)
y = y + ((h - minh) * (1.0 - sd->align.y));
h = minh;
}
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Table_Item *ti;
Evas_Object *obj;
obj = l->data;
ti = evas_object_data_get(obj, "e_table_data");
if (ti->expand_w) expandw++;
if (ti->expand_h) expandh++;
@ -338,13 +337,11 @@ _e_table_smart_reconfigure(E_Smart_Data *sd)
y = sd->y;
if (sd->homogenous)
{
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Table_Item *ti;
Evas_Object *obj;
Evas_Coord ww, hh, ow, oh;
obj = l->data;
ti = evas_object_data_get(obj, "e_table_data");
xx = x + ((ti->col) * (w / (Evas_Coord)sd->size.cols));
@ -366,12 +363,10 @@ _e_table_smart_reconfigure(E_Smart_Data *sd)
else
{
int i, ex, tot, need, num, dif, left, nx;
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Table_Item *ti;
Evas_Object *obj;
obj = l->data;
ti = evas_object_data_get(obj, "e_table_data");
if (sd->size.cols < (ti->col + ti->colspan))
sd->size.cols = ti->col + ti->colspan;
@ -387,12 +382,10 @@ _e_table_smart_reconfigure(E_Smart_Data *sd)
colsx = calloc(sd->size.cols, sizeof(int));
rowsx = calloc(sd->size.rows, sizeof(int));
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Table_Item *ti;
Evas_Object *obj;
obj = l->data;
ti = evas_object_data_get(obj, "e_table_data");
for (i = ti->col; i < (ti->col + ti->colspan); i++)
colsx[i] |= ti->expand_w;
@ -400,12 +393,10 @@ _e_table_smart_reconfigure(E_Smart_Data *sd)
rowsx[i] |= ti->expand_h;
}
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Table_Item *ti;
Evas_Object *obj;
obj = l->data;
ti = evas_object_data_get(obj, "e_table_data");
/* handle horizontal */
@ -581,13 +572,11 @@ _e_table_smart_reconfigure(E_Smart_Data *sd)
}
}
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Table_Item *ti;
Evas_Object *obj;
Evas_Coord ww, hh, ow, oh, i;
obj = l->data;
ti = evas_object_data_get(obj, "e_table_data");
xx = x;
@ -623,6 +612,7 @@ static void
_e_table_smart_extents_calcuate(E_Smart_Data *sd)
{
Eina_List *l;
Evas_Object *obj;
int minw, minh;
sd->max.w = -1; /* max < 0 == unlimited */
@ -634,13 +624,11 @@ _e_table_smart_extents_calcuate(E_Smart_Data *sd)
minh = 0;
if (sd->homogenous)
{
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Table_Item *ti;
Evas_Object *obj;
int mw, mh;
obj = l->data;
ti = evas_object_data_get(obj, "e_table_data");
if (sd->size.cols < (ti->col + ti->colspan))
sd->size.cols = ti->col + ti->colspan;
@ -657,12 +645,10 @@ _e_table_smart_extents_calcuate(E_Smart_Data *sd)
else
{
int i, ex, tot, need, num, dif, left, nx;
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Table_Item *ti;
Evas_Object *obj;
obj = l->data;
ti = evas_object_data_get(obj, "e_table_data");
if (sd->size.cols < (ti->col + ti->colspan))
sd->size.cols = ti->col + ti->colspan;
@ -678,12 +664,10 @@ _e_table_smart_extents_calcuate(E_Smart_Data *sd)
colsx = calloc(sd->size.cols, sizeof(int));
rowsx = calloc(sd->size.rows, sizeof(int));
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Table_Item *ti;
Evas_Object *obj;
obj = l->data;
ti = evas_object_data_get(obj, "e_table_data");
for (i = ti->col; i < (ti->col + ti->colspan); i++)
colsx[i] |= ti->expand_w;
@ -691,12 +675,10 @@ _e_table_smart_extents_calcuate(E_Smart_Data *sd)
rowsx[i] |= ti->expand_h;
}
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, obj)
{
E_Table_Item *ti;
Evas_Object *obj;
obj = l->data;
ti = evas_object_data_get(obj, "e_table_data");
/* handle horizontal */
@ -880,7 +862,7 @@ _e_table_smart_del(Evas_Object *obj)
{
Evas_Object *child;
child = sd->items->data;
child = eina_list_data_get(sd->items);
e_table_unpack(child);
}
e_table_thaw(obj);
@ -899,16 +881,17 @@ _e_table_smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
if ((x == sd->x) && (y == sd->y)) return;
{
Eina_List *l;
Evas_Object *item;
Evas_Coord dx, dy;
dx = x - sd->x;
dy = y - sd->y;
for (l = sd->items; l; l = l->next)
EINA_LIST_FOREACH(sd->items, l, item)
{
Evas_Coord ox, oy;
evas_object_geometry_get(l->data, &ox, &oy, NULL, NULL);
evas_object_move(l->data, ox + dx, oy + dy);
evas_object_geometry_get(item, &ox, &oy, NULL, NULL);
evas_object_move(item, ox + dx, oy + dy);
}
}
sd->x = x;

View File

@ -8,19 +8,14 @@ static void _e_test_internal(E_Container *con);
EAPI void
e_test(void)
{
Eina_List *managers, *l, *ll;
Eina_List *l, *ll;
E_Manager *man;
E_Container *con;
managers = e_manager_list();
for (l = managers; l; l = l->next)
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
E_Manager *man;
man = l->data;
for (ll = man->containers; ll; ll = ll->next)
EINA_LIST_FOREACH(man->containers, ll, con)
{
E_Container *con;
con = ll->data;
_e_test_internal(con);
}
}
@ -32,6 +27,7 @@ _e_test_timer(void *data)
{
E_Menu *m;
Eina_List *managers, *l;
E_Manager *man;
m = data;
if (m)
@ -42,11 +38,8 @@ _e_test_timer(void *data)
return 0;
}
managers = e_manager_list();
for (l = managers; l; l = l->next)
EINA_LIST_FOREACH(managers, l, man)
{
E_Manager *man;
man = l->data;
m = e_int_menus_main_new();
e_menu_activate_mouse(m,
e_container_zone_number_get(e_container_current_get(man), 0),
@ -122,14 +115,11 @@ static void
_e_test_internal(E_Container *con)
{
E_Menu *m;
Eina_List *managers, *l;
Eina_List *l;
E_Manager *man;
managers = e_manager_list();
for (l = managers; l; l = l->next)
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
E_Manager *man;
man = l->data;
m = e_int_menus_main_new();
e_menu_activate_mouse(m,
e_container_zone_number_get(e_container_current_get(man), 0),
@ -463,7 +453,7 @@ _e_test_cb_favorites_selected(void *data, Evas_Object *obj, void *event_info)
printf("FAV SELECTED\n");
selected = e_fm2_selected_list_get(obj);
if (!selected) return;
ici = selected->data;
ici = eina_list_data_get(selected);
if ((ici->link) && (ici->mount))
e_fm2_path_set(data, ici->link, "/");
else if (ici->link)
@ -487,9 +477,8 @@ _e_test_cb_favorites_files_changed(void *data, Evas_Object *obj, void *event_inf
realpath = e_fm2_real_path_get(data);
p1 = ecore_file_realpath(realpath);
if (!p1) goto done;
for (l = icons; l; l = l->next)
EINA_LIST_FOREACH(icons, l, ici)
{
ici = l->data;
if (ici->link)
{
p2 = ecore_file_realpath(ici->link);

View File

@ -59,11 +59,7 @@ e_thumb_shutdown(void)
ecore_event_handler_del(_exe_del_handler);
_exe_del_handler = NULL;
_thumbnailers = eina_list_free(_thumbnailers);
while (_thumbnailers_exe)
{
ecore_exe_free(_thumbnailers_exe->data);
_thumbnailers_exe = eina_list_remove_list(_thumbnailers_exe, _thumbnailers_exe);
}
E_FREE_LIST(_thumbnailers_exe, ecore_exe_free);
_thumb_queue = eina_list_free(_thumb_queue);
_objid = 0;
eina_hash_free(_thumbs);
@ -154,10 +150,8 @@ e_thumb_icon_begin(Evas_Object *obj)
eth->queued = 1;
return;
}
while (_thumb_queue)
EINA_LIST_FREE(_thumb_queue, eth2)
{
eth2 = _thumb_queue->data;
_thumb_queue = eina_list_remove_list(_thumb_queue, _thumb_queue);
eth2->queued = 0;
eth2->busy = 1;
_pending++;
@ -279,10 +273,8 @@ e_thumb_client_data(Ecore_Ipc_Event_Client_Data *e)
if (e->minor == 1)
{
/* hello message */
while (_thumb_queue)
EINA_LIST_FREE(_thumb_queue, eth)
{
eth = _thumb_queue->data;
_thumb_queue = eina_list_remove_list(_thumb_queue, _thumb_queue);
eth->queued = 0;
eth->busy = 1;
_pending++;
@ -316,7 +308,7 @@ _e_thumb_gen_begin(int objid, const char *file, const char *key, int w, int h)
strcpy(buf, file);
if (key) strcpy(buf + l1 + 1, key);
else buf[l1 + 1] = 0;
cli = _thumbnailers->data;
cli = eina_list_data_get(_thumbnailers);
if (!cli) return;
_thumbnailers = eina_list_remove_list(_thumbnailers, _thumbnailers);
_thumbnailers = eina_list_append(_thumbnailers, cli);
@ -330,9 +322,8 @@ _e_thumb_gen_end(int objid)
Ecore_Ipc_Client *cli;
/* send thumb cancel */
for (l = _thumbnailers; l; l = l->next)
EINA_LIST_FOREACH(_thumbnailers, l, cli)
{
cli = l->data;
ecore_ipc_client_send(cli, E_IPC_DOMAIN_THUMB, 2, objid, 0, 0, NULL, 0);
}
}
@ -407,9 +398,10 @@ static int
_e_thumb_cb_kill(void *data)
{
Eina_List *l;
Ecore_Exe *exe;
for (l = _thumbnailers_exe; l; l = l->next)
ecore_exe_terminate(l->data);
EINA_LIST_FOREACH(_thumbnailers_exe, l, exe)
ecore_exe_terminate(exe);
_kill_timer = NULL;
return 0;
}
@ -418,12 +410,13 @@ static int
_e_thumb_cb_exe_event_del(void *data, int type, void *event)
{
Ecore_Exe_Event_Del *ev;
Ecore_Exe *exe;
Eina_List *l;
ev = event;
for (l = _thumbnailers_exe; l; l = l->next)
EINA_LIST_FOREACH(_thumbnailers_exe, l, exe)
{
if (l->data == ev->exe)
if (exe == ev->exe)
{
_thumbnailers_exe = eina_list_remove_list(_thumbnailers_exe, l);
break;

View File

@ -187,9 +187,8 @@ _e_ipc_cb_server_data(void *data, int type, void *event)
break;
case 2:
/* end thumb */
for (l = _thumblist; l; l = l->next)
EINA_LIST_FOREACH(_thumblist, l, eth)
{
eth = l->data;
if (eth->objid == e->ref)
{
_thumblist = eina_list_remove_list(_thumblist, l);
@ -221,7 +220,7 @@ _e_cb_timer(void *data)
/* take thumb at head of list */
if (_thumblist)
{
eth = _thumblist->data;
eth = eina_list_data_get(_thumblist);
_thumblist = eina_list_remove_list(_thumblist, _thumblist);
_e_thumb_generate(eth);
if (eth->file) free(eth->file);

View File

@ -35,7 +35,7 @@ e_toolbar_shutdown(void)
{
E_Toolbar *tbar;
tbar = toolbars->data;
tbar = eina_list_data_get(toolbars);
e_object_del(E_OBJECT(tbar));
}
return 1;
@ -499,14 +499,12 @@ _e_toolbar_fm2_changed(void *data, Evas_Object *obj, void *event_info)
{
E_Toolbar *tbar;
Eina_List *l = NULL;
E_Gadcon_Client *gcc = NULL;
tbar = data;
if (!tbar) return;
for (l = tbar->gadcon->clients; l; l = l->next)
EINA_LIST_FOREACH(tbar->gadcon->clients, l, gcc)
{
E_Gadcon_Client *gcc = NULL;
gcc = l->data;
if (!gcc) continue;
evas_object_smart_callback_call(gcc->o_base, "changed", tbar);
}
@ -517,14 +515,12 @@ _e_toolbar_fm2_dir_changed(void *data, Evas_Object *obj, void *event_info)
{
E_Toolbar *tbar;
Eina_List *l = NULL;
E_Gadcon_Client *gcc = NULL;
tbar = data;
if (!tbar) return;
for (l = tbar->gadcon->clients; l; l = l->next)
EINA_LIST_FOREACH(tbar->gadcon->clients, l, gcc)
{
E_Gadcon_Client *gcc = NULL;
gcc = l->data;
if (!gcc) continue;
evas_object_smart_callback_call(gcc->o_base, "dir_changed", tbar);
}
@ -535,14 +531,12 @@ _e_toolbar_fm2_dir_deleted(void *data, Evas_Object *obj, void *event_info)
{
E_Toolbar *tbar;
Eina_List *l = NULL;
E_Gadcon_Client *gcc = NULL;
tbar = data;
if (!tbar) return;
for (l = tbar->gadcon->clients; l; l = l->next)
EINA_LIST_FOREACH(tbar->gadcon->clients, l, gcc)
{
E_Gadcon_Client *gcc = NULL;
gcc = l->data;
if (!gcc) continue;
evas_object_smart_callback_call(gcc->o_base, "dir_deleted", tbar);
}
@ -553,14 +547,12 @@ _e_toolbar_fm2_files_deleted(void *data, Evas_Object *obj, void *event_info)
{
E_Toolbar *tbar;
Eina_List *l = NULL;
E_Gadcon_Client *gcc = NULL;
tbar = data;
if (!tbar) return;
for (l = tbar->gadcon->clients; l; l = l->next)
EINA_LIST_FOREACH(tbar->gadcon->clients, l, gcc)
{
E_Gadcon_Client *gcc = NULL;
gcc = l->data;
if (!gcc) continue;
evas_object_smart_callback_call(gcc->o_base, "files_deleted", tbar);
}
@ -571,14 +563,12 @@ _e_toolbar_fm2_selected(void *data, Evas_Object *obj, void *event_info)
{
E_Toolbar *tbar;
Eina_List *l = NULL;
E_Gadcon_Client *gcc = NULL;
tbar = data;
if (!tbar) return;
for (l = tbar->gadcon->clients; l; l = l->next)
EINA_LIST_FOREACH(tbar->gadcon->clients, l, gcc)
{
E_Gadcon_Client *gcc = NULL;
gcc = l->data;
if (!gcc) continue;
evas_object_smart_callback_call(gcc->o_base, "selected", tbar);
}
@ -589,14 +579,12 @@ _e_toolbar_fm2_selection_changed(void *data, Evas_Object *obj, void *event_info)
{
E_Toolbar *tbar;
Eina_List *l = NULL;
E_Gadcon_Client *gcc = NULL;
tbar = data;
if (!tbar) return;
for (l = tbar->gadcon->clients; l; l = l->next)
EINA_LIST_FOREACH(tbar->gadcon->clients, l, gcc)
{
E_Gadcon_Client *gcc = NULL;
gcc = l->data;
if (!gcc) continue;
evas_object_smart_callback_call(gcc->o_base, "selection_changed", tbar);
}

View File

@ -126,13 +126,12 @@ EAPI E_Container *
e_util_container_number_get(int num)
{
Eina_List *l;
E_Manager *man;
for (l = e_manager_list(); l; l = l->next)
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
E_Manager *man;
E_Container *con;
man = l->data;
con = e_container_number_get(man, num);
if (con) return con;
}
@ -507,17 +506,13 @@ EAPI E_Container *
e_util_container_window_find(Ecore_X_Window win)
{
Eina_List *l, *ll;
E_Manager *man;
E_Container *con;
for (l = e_manager_list(); l; l = l->next)
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
E_Manager *man;
man = l->data;
for (ll = man->containers; ll; ll = ll->next)
EINA_LIST_FOREACH(man->containers, ll, con)
{
E_Container *con;
con = ll->data;
if ((con->win == win) || (con->bg_win == win) ||
(con->event_win == win))
return con;
@ -529,7 +524,7 @@ e_util_container_window_find(Ecore_X_Window win)
EAPI E_Border *
e_util_desk_border_above(E_Border *bd)
{
E_Border *above = NULL;
E_Border *bd2, *above = NULL;
Eina_List *l;
int pos, i;
@ -543,11 +538,10 @@ e_util_desk_border_above(E_Border *bd)
else if ((bd->layer > 150) && (bd->layer <= 200)) pos = 4;
else pos = 5;
for (l = eina_list_data_find_list(bd->zone->container->layers[pos].clients, bd);
(l) && (l->next) && (!above);
l = l->next)
EINA_LIST_FOREACH(eina_list_data_find_list(bd->zone->container->layers[pos].clients, bd), l, bd2)
{
above = l->next->data;
if(!eina_list_next(l) || above) break;
above = eina_list_data_get(eina_list_next(l));
if ((above->desk != bd->desk) && (!above->sticky))
above = NULL;
}
@ -556,11 +550,10 @@ e_util_desk_border_above(E_Border *bd)
/* Need to check the layers above */
for (i = pos + 1; (i < 7) && (!above); i++)
{
for (l = bd->zone->container->layers[i].clients;
(l) && (!above);
l = l->next)
EINA_LIST_FOREACH(bd->zone->container->layers[i].clients, l, bd2)
{
above = l->data;
if (above) break;
above = bd2;
if ((above->desk != bd->desk) && (!above->sticky))
above = NULL;
}
@ -572,7 +565,7 @@ e_util_desk_border_above(E_Border *bd)
EAPI E_Border *
e_util_desk_border_below(E_Border *bd)
{
E_Border *below = NULL;
E_Border *below = NULL, *bd2;
Eina_List *l;
int pos, i;
@ -586,11 +579,10 @@ e_util_desk_border_below(E_Border *bd)
else if ((bd->layer > 150) && (bd->layer <= 200)) pos = 4;
else pos = 5;
for (l = eina_list_data_find_list(bd->zone->container->layers[pos].clients, bd);
(l) && (l->prev) && (!below);
l = l->prev)
EINA_LIST_REVERSE_FOREACH(eina_list_data_find_list(bd->zone->container->layers[pos].clients, bd), l, bd2)
{
below = l->prev->data;
if (!eina_list_prev(l) || below) break;
below = eina_list_data_get(eina_list_prev(l));
if ((below->desk != bd->desk) && (!below->sticky))
below = NULL;
}
@ -601,11 +593,10 @@ e_util_desk_border_below(E_Border *bd)
{
if (bd->zone->container->layers[i].clients)
{
for (l = eina_list_last(bd->zone->container->layers[i].clients);
(l) && (!below);
l = l->prev)
EINA_LIST_REVERSE_FOREACH(eina_list_last(bd->zone->container->layers[i].clients), l, bd2)
{
below = l->data;
if (below) break;
below = bd2;
if ((below->desk != bd->desk) && (!below->sticky))
below = NULL;
}
@ -620,11 +611,12 @@ EAPI int
e_util_edje_collection_exists(const char *file, const char *coll)
{
Eina_List *clist, *l;
char *str;
clist = edje_file_collection_list(file);
for (l = clist; l; l = l->next)
EINA_LIST_FOREACH(clist, l, str)
{
if (!strcmp(coll, l->data))
if (!strcmp(coll, str))
{
edje_file_collection_list_free(clist);
return 1;

View File

@ -196,15 +196,14 @@ EAPI Evas_Object *
e_widget_focused_object_get(Evas_Object *obj)
{
Eina_List *l = NULL;
Evas_Object *sobj = NULL;
API_ENTRY return NULL;
if (!sd->focused) return NULL;
for (l = sd->subobjs; l; l = l->next)
EINA_LIST_FOREACH(sd->subobjs, l, sobj)
{
Evas_Object *fobj = NULL;
fobj = e_widget_focused_object_get(l->data);
if (fobj) return fobj;
sobj = e_widget_focused_object_get(sobj);
if (sobj) return sobj;
}
return obj;
}
@ -228,6 +227,7 @@ e_widget_focus_jump(Evas_Object *obj, int forward)
else
{
Eina_List *l = NULL;
Evas_Object *sobj = NULL;
int focus_next = 0;
if (!sd->focused)
@ -241,25 +241,25 @@ e_widget_focus_jump(Evas_Object *obj, int forward)
{
if (forward)
{
for (l = sd->subobjs; l; l = l->next)
EINA_LIST_FOREACH(sd->subobjs, l, sobj)
{
if (e_widget_can_focus_get(l->data))
if (e_widget_can_focus_get(sobj))
{
if ((focus_next) &&
(!e_widget_disabled_get(l->data)))
(!e_widget_disabled_get(sobj)))
{
/* the previous focused item was unfocused - so focus
* the next one (that can be focused) */
if (e_widget_focus_jump(l->data, forward))
if (e_widget_focus_jump(sobj, forward))
return 1;
else break;
}
else
{
if (e_widget_focus_get(l->data))
if (e_widget_focus_get(sobj))
{
/* jump to the next focused item or focus this item */
if (e_widget_focus_jump(l->data, forward))
if (e_widget_focus_jump(sobj, forward))
return 1;
/* it returned 0 - it got to the last item and is past it */
focus_next = 1;
@ -270,25 +270,25 @@ e_widget_focus_jump(Evas_Object *obj, int forward)
}
else
{
for (l = eina_list_last(sd->subobjs); l; l = l->prev)
EINA_LIST_REVERSE_FOREACH(sd->subobjs, l, sobj)
{
if (e_widget_can_focus_get(l->data))
if (e_widget_can_focus_get(sobj))
{
if ((focus_next) &&
(!e_widget_disabled_get(l->data)))
(!e_widget_disabled_get(sobj)))
{
/* the previous focused item was unfocused - so focus
* the next one (that can be focused) */
if (e_widget_focus_jump(l->data, forward))
if (e_widget_focus_jump(sobj, forward))
return 1;
else break;
}
else
{
if (e_widget_focus_get(l->data))
if (e_widget_focus_get(sobj))
{
/* jump to the next focused item or focus this item */
if (e_widget_focus_jump(l->data, forward))
if (e_widget_focus_jump(sobj, forward))
return 1;
/* it returned 0 - it got to the last item and is past it */
focus_next = 1;
@ -321,27 +321,28 @@ e_widget_focus_set(Evas_Object *obj, int first)
else
{
Eina_List *l = NULL;
Evas_Object *sobj;
if (first)
{
for (l = sd->subobjs; l; l = l->next)
EINA_LIST_FOREACH(sd->subobjs, l, sobj)
{
if ((e_widget_can_focus_get(l->data)) &&
(!e_widget_disabled_get(l->data)))
if ((e_widget_can_focus_get(sobj)) &&
(!e_widget_disabled_get(sobj)))
{
e_widget_focus_set(l->data, first);
e_widget_focus_set(sobj, first);
break;
}
}
}
else
{
for (l = eina_list_last(sd->subobjs); l; l = l->prev)
EINA_LIST_REVERSE_FOREACH(sd->subobjs, l, sobj)
{
if ((e_widget_can_focus_get(l->data)) &&
(!e_widget_disabled_get(l->data)))
if ((e_widget_can_focus_get(sobj)) &&
(!e_widget_disabled_get(sobj)))
{
e_widget_focus_set(l->data, first);
e_widget_focus_set(sobj, first);
break;
}
}
@ -360,15 +361,16 @@ EAPI void
e_widget_focused_object_clear(Evas_Object *obj)
{
Eina_List *l = NULL;
Evas_Object *sobj = NULL;
API_ENTRY return;
if (!sd->focused) return;
sd->focused = 0;
for (l = sd->subobjs; l; l = l->next)
EINA_LIST_FOREACH(sd->subobjs, l, sobj)
{
if (e_widget_focus_get(l->data))
if (e_widget_focus_get(sobj))
{
e_widget_focused_object_clear(l->data);
e_widget_focused_object_clear(sobj);
break;
}
}
@ -497,16 +499,9 @@ _e_smart_add(Evas_Object *obj)
static void
_e_smart_del(Evas_Object *obj)
{
Evas_Object *sobj = NULL;
INTERNAL_ENTRY;
if (sd->del_func) sd->del_func(obj);
while (sd->subobjs)
{
sobj = sd->subobjs->data;
sd->subobjs = eina_list_remove_list(sd->subobjs, sd->subobjs);
evas_object_del(sobj);
}
E_FREE_LIST(sd->subobjs, evas_object_del);
free(sd);
}

View File

@ -51,6 +51,7 @@ _e_wid_cb_color_changed(void *data, Evas_Object *o)
{
E_Widget_Data *wd = data;
Eina_List *l;
Evas_Object *eo, *so;
int i;
int changed = -1;
@ -59,9 +60,10 @@ _e_wid_cb_color_changed(void *data, Evas_Object *o)
wd->changing = 1;
/* entry changed */
for (l = wd->entries, i = 0; l; l = l->next, i++)
i = 0;
EINA_LIST_FOREACH(wd->entries, l, eo)
{
if (o == l->data)
if (o == eo)
{
changed = i;
switch (i)
@ -99,6 +101,7 @@ _e_wid_cb_color_changed(void *data, Evas_Object *o)
}
break;
}
i++;
}
if (changed != -1)
@ -116,9 +119,9 @@ _e_wid_cb_color_changed(void *data, Evas_Object *o)
/* update the sliders */
for (l = wd->sliders, i = 0; l; l = l->next, i++)
i = 0;
EINA_LIST_FOREACH(wd->sliders, l, so)
{
Evas_Object *so = l->data;
if (o != so)
{
e_widget_cslider_update(so);
@ -127,6 +130,7 @@ _e_wid_cb_color_changed(void *data, Evas_Object *o)
{
changed = i;
}
i++;
}
/* update the spectrum */
@ -143,10 +147,11 @@ _e_wid_cb_color_changed(void *data, Evas_Object *o)
e_widget_color_well_update(wd->well);
/* now update the text fields to show current values */
for (l = wd->entries, i = 0; l; l = l->next, i++)
i = 0;
EINA_LIST_FOREACH(wd->entries, l, eo)
{
char buf[10];
if (o == l->data) continue;
if (o == eo) continue;
switch (i)
{
case E_COLOR_COMPONENT_R:
@ -168,7 +173,7 @@ _e_wid_cb_color_changed(void *data, Evas_Object *o)
snprintf(buf, 10, "%.2f", wd->cv->v);
break;
}
e_widget_entry_text_set((Evas_Object *)(l->data), buf);
e_widget_entry_text_set(eo, buf);
}
wd->changing = 0;

View File

@ -36,16 +36,15 @@ _e_wid_del_hook(Evas_Object *obj)
{
E_Widget_Data *wd;
Eina_List *l;
Evas_Object *o;
wd = e_widget_data_get(obj);
if (!wd) return;
if (wd->update_handler) ecore_event_handler_del(wd->update_handler);
for (l = wd->desks; l; l = l->next)
EINA_LIST_FOREACH(wd->desks, l, o)
{
Evas_Object *o;
E_Widget_Desk_Data *dd;
o = l->data;
dd = e_widget_data_get(o);
e_thumb_icon_end(o);
}
@ -124,6 +123,7 @@ static void
_e_wid_reconfigure(E_Widget_Data *wd)
{
Eina_List *l, *delete = NULL;
Evas_Object *dw;
int x, y;
int aw, ah; /* available */
int mw, mh; /* min size for each desk */
@ -166,9 +166,8 @@ _e_wid_reconfigure(E_Widget_Data *wd)
tw = 300;
th = (tw * zone->h) / zone->w;
for (l = wd->desks; l; l = l->next)
EINA_LIST_FOREACH(wd->desks, l, dw)
{
Evas_Object *dw = l->data;
E_Widget_Desk_Data *dd = e_widget_data_get(dw);
if (dd->x < nx && dd->y < ny)
{
@ -182,13 +181,11 @@ _e_wid_reconfigure(E_Widget_Data *wd)
delete = eina_list_append(delete, dw);
}
}
while (delete)
EINA_LIST_FREE(delete, dw)
{
Evas_Object *dw = delete->data;
e_widget_table_unpack(wd->table, dw);
evas_object_del(dw);
wd->desks = eina_list_remove(wd->desks, dw);
delete = eina_list_remove_list(delete, delete);
}
for (y = 0; y < ny; y++)
@ -272,17 +269,16 @@ _e_wid_cb_bg_update(void *data, int type, void *event)
E_Event_Bg_Update *ev;
E_Widget_Data *wd;
Eina_List *l;
Evas_Object *o;
if (type != E_EVENT_BG_UPDATE) return 1;
wd = data;
ev = event;
for (l = wd->desks; l; l = l->next)
EINA_LIST_FOREACH(wd->desks, l, o)
{
Evas_Object *o;
E_Widget_Desk_Data *dd;
o = l->data;
dd = e_widget_data_get(o);
if (!dd)

View File

@ -132,9 +132,8 @@ _e_wid_fsel_favorites_files_changed(void *data, Evas_Object *obj, void *event_in
realpath = e_fm2_real_path_get(wd->o_files_fm);
p1 = ecore_file_realpath(realpath);
if (!p1) goto done;
for (l = icons; l; l = l->next)
EINA_LIST_FOREACH(icons, l, ici)
{
ici = l->data;
if (ici->link)
{
p2 = ecore_file_realpath(ici->link);
@ -168,7 +167,7 @@ _e_wid_fsel_favorites_selected(void *data, Evas_Object *obj, void *event_info)
if (!wd->o_files_frame) return;
selected = e_fm2_selected_list_get(wd->o_favorites_fm);
if (!selected) return;
ici = selected->data;
ici = eina_list_data_get(selected);
if ((ici->link) && (ici->mount))
e_fm2_path_set(wd->o_files_fm, ici->link, "/");
else if (ici->real_link)
@ -219,7 +218,7 @@ _e_wid_fsel_files_selection_change(void *data, Evas_Object *obj, void *event_inf
if (!wd->o_files_fm) return;
selected = e_fm2_selected_list_get(wd->o_files_fm);
if (!selected) return;
ici = selected->data;
ici = eina_list_data_get(selected);
E_FREE(wd->path);
realpath = e_fm2_real_path_get(wd->o_files_fm);
if (!strcmp(realpath, "/"))

View File

@ -69,7 +69,7 @@ _queue_timer(void *data)
{
E_Widget_Queue_Item *qi;
qi = wd->queue.queue->data;
qi = eina_list_data_get(wd->queue.queue);
if (qi->command == 0)
{
E_Widget_Callback *wcb, *rcb;
@ -246,7 +246,7 @@ _queue_clear(Evas_Object *obj)
wd = e_widget_data_get(obj);
while (wd->queue.queue)
_queue_remove(obj, wd->queue.queue->data, 1);
_queue_remove(obj, eina_list_data_get(wd->queue.queue), 1);
if (wd->queue.timer) ecore_timer_del(wd->queue.timer);
wd->queue.timer = NULL;
}
@ -468,19 +468,16 @@ EAPI void
e_widget_ilist_clear(Evas_Object *obj)
{
E_Widget_Data *wd;
E_Widget_Callback *wcb;
wd = e_widget_data_get(obj);
_queue_clear(obj);
e_ilist_clear(wd->o_ilist);
e_scrollframe_child_pos_set(wd->o_scrollframe, 0, 0);
while (wd->callbacks)
EINA_LIST_FREE(wd->callbacks, wcb)
{
E_Widget_Callback *wcb;
wcb = wd->callbacks->data;
if (wcb->value) free(wcb->value);
free(wcb);
wd->callbacks = eina_list_remove_list(wd->callbacks, wd->callbacks);
}
}
@ -739,17 +736,14 @@ static void
_e_wid_del_hook(Evas_Object *obj)
{
E_Widget_Data *wd;
E_Widget_Callback *wcb;
wd = e_widget_data_get(obj);
_queue_clear(obj);
while (wd->callbacks)
EINA_LIST_FREE(wd->callbacks, wcb)
{
E_Widget_Callback *wcb;
wcb = wd->callbacks->data;
if (wcb->value) free(wcb->value);
free(wcb);
wd->callbacks = eina_list_remove_list(wd->callbacks, wd->callbacks);
}
free(wd);
}

View File

@ -153,12 +153,13 @@ e_widget_radio_toggle_set(Evas_Object *obj, int toggle)
if (toggle)
{
Eina_List *l;
Evas_Object *sobj;
for (l = wd->group->radios; l; l = l->next)
EINA_LIST_FOREACH(wd->group->radios, l, sobj)
{
if (l->data != obj)
if (sobj != obj)
{
wd = e_widget_data_get(l->data);
wd = e_widget_data_get(sobj);
if (wd->valnum == *(wd->group->valptr))
{
edje_object_signal_emit(wd->o_radio, "e,state,off", "e");
@ -217,13 +218,14 @@ _e_wid_do(Evas_Object *obj)
if ((wd->group) && (wd->group->valptr))
{
Eina_List *l;
Evas_Object *sobj;
int toggled = 0;
for (l = wd->group->radios; l; l = l->next)
EINA_LIST_FOREACH(wd->group->radios, l, sobj)
{
if (l->data != obj)
if (sobj != obj)
{
wd = e_widget_data_get(l->data);
wd = e_widget_data_get(sobj);
if (wd->valnum == *(wd->group->valptr))
{
edje_object_signal_emit(wd->o_radio, "e,state,off", "e");

View File

@ -19,7 +19,6 @@ e_widget_toolbook_add(Evas *evas, int icon_w, int icon_h)
{
Evas_Object *obj, *o;
E_Widget_Data *wd;
Evas_Coord mw, mh;
obj = e_widget_add(evas);
e_widget_del_hook_set(obj, _e_wid_del_hook);
@ -83,18 +82,15 @@ static void
_item_sel(void *data1, void *data2)
{
E_Widget_Data *wd;
Evas_Object *obj, *sobj;
Evas_Object *o, *obj, *sobj;
Eina_List *l;
obj = data1;
sobj = data2;
wd = e_widget_data_get(obj);
for (l = wd->content; l; l = l->next)
EINA_LIST_FOREACH(wd->content, l, o)
{
Evas_Object *o;
o = l->data;
if (o == sobj) evas_object_show(o);
else evas_object_hide(o);
}

View File

@ -65,13 +65,9 @@ e_xinerama_fake_screen_add(int x, int y, int w, int h)
static void
_e_xinerama_clean(void)
{
E_Screen *s = NULL;
EINA_LIST_FREE(all_screens, s)
E_FREE(s);
EINA_LIST_FREE(chosen_screens, s);
EINA_LIST_FREE(fake_screens, s)
E_FREE(s);
E_FREE_LIST(all_screens, E_FREE);
eina_list_free(chosen_screens);
E_FREE_LIST(fake_screens, E_FREE);
}
static void
@ -80,6 +76,7 @@ _e_xinerama_update(void)
int n;
Ecore_X_Window *roots;
Eina_List *l;
E_Screen *scr;
roots = ecore_x_window_root_list(&n);
if (roots)
@ -139,22 +136,17 @@ _e_xinerama_update(void)
}
}
/* now go through all_screens... and build a list of chosen screens */
for (l = all_screens; l; l = l->next)
EINA_LIST_FOREACH(all_screens, l, scr)
{
Eina_List *ll;
E_Screen *scr;
int add = 0;
E_Screen *scr2;
int add = 1;
Eina_List *removes;
scr = l->data;
add = 1;
removes = NULL;
/* does this screen intersect with any we have chosen? */
for (ll = chosen_screens; ll; ll = ll->next)
EINA_LIST_FOREACH(chosen_screens, ll, scr2)
{
E_Screen *scr2;
scr2 = ll->data;
/* if they intersect */
if (E_INTERSECTS(scr->x, scr->y, scr->w, scr->h,
scr2->x, scr2->y, scr2->w, scr2->h))
@ -173,10 +165,9 @@ _e_xinerama_update(void)
}
}
/* if there are screens to remove - remove them */
while (removes)
EINA_LIST_FREE(removes, scr2)
{
chosen_screens = eina_list_remove(chosen_screens, removes->data);
removes = eina_list_remove_list(removes, removes);
chosen_screens = eina_list_remove(chosen_screens, scr2);
}
/* if this screen is to be added, add it */
if (add)
@ -185,14 +176,13 @@ _e_xinerama_update(void)
chosen_screens = eina_list_sort(chosen_screens,
eina_list_count(chosen_screens),
_e_xinerama_cb_screen_sort);
for (n = 0, l = chosen_screens; l; l = l->next, n++)
n = 0;
EINA_LIST_FOREACH(chosen_screens, l, scr)
{
E_Screen *scr;
scr = l->data;
printf("E17 INIT: XINERAMA CHOSEN: [%i], %ix%i+%i+%i\n",
scr->screen, scr->w, scr->h, scr->x, scr->y);
scr->escreen = n;
n++;
}
}

View File

@ -419,6 +419,7 @@ EAPI E_Zone *
e_zone_current_get(E_Container *con)
{
Eina_List *l = NULL;
E_Zone *zone;
E_OBJECT_CHECK_RETURN(con, NULL);
E_OBJECT_TYPE_CHECK_RETURN(con, E_CONTAINER_TYPE, NULL);
@ -427,18 +428,14 @@ e_zone_current_get(E_Container *con)
int x, y;
ecore_x_pointer_xy_get(con->win, &x, &y);
for (l = con->zones; l; l = l->next)
EINA_LIST_FOREACH(con->zones, l, zone)
{
E_Zone *zone;
zone = l->data;
if (E_INSIDE(x, y, zone->x, zone->y, zone->w, zone->h))
return zone;
}
}
if (!con->zones) return NULL;
l = con->zones;
return (E_Zone *)l->data;
return (E_Zone *)eina_list_data_get(con->zones);
}
EAPI void
@ -478,12 +475,10 @@ e_zone_flip_coords_handle(E_Zone *zone, int x, int y)
cx = next_zone->x;
cy = next_zone->y;
zones = eina_list_next(zones);
while (zones)
EINA_LIST_FOREACH(eina_list_next(zones), zones, next_zone)
{
next_zone = (E_Zone *)zones->data;
if (next_zone->x != cx) one_col = 0;
if (next_zone->y != cy) one_row = 0;
zones = zones->next;
}
}
if (eina_list_count(zone->container->manager->containers) > 1)
@ -771,18 +766,14 @@ e_zone_flip_win_disable(void)
Eina_List *l, *ll, *lll;
E_Manager *man;
E_Container *con;
E_Zone *zone;
for (l = e_manager_list(); l; l = l->next)
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
man = l->data;
for (ll = man->containers; ll; ll = ll->next)
EINA_LIST_FOREACH(man->containers, ll, con)
{
con = ll->data;
for (lll = con->zones; lll; lll = lll->next)
EINA_LIST_FOREACH(con->zones, lll, zone)
{
E_Zone *zone;
zone = lll->data;
ecore_x_window_hide(zone->edge.left);
ecore_x_window_hide(zone->edge.right);
ecore_x_window_hide(zone->edge.top);
@ -806,18 +797,14 @@ e_zone_flip_win_restore(void)
Eina_List *l, *ll, *lll;
E_Manager *man;
E_Container *con;
E_Zone *zone;
for (l = e_manager_list(); l; l = l->next)
EINA_LIST_FOREACH(e_manager_list(), l, man)
{
man = l->data;
for (ll = man->containers; ll; ll = ll->next)
EINA_LIST_FOREACH(man->containers, ll, con)
{
con = ll->data;
for (lll = con->zones; lll; lll = lll->next)
EINA_LIST_FOREACH(con->zones, lll, zone)
{
E_Zone *zone;
zone = lll->data;
ecore_x_window_show(zone->edge.left);
ecore_x_window_show(zone->edge.right);
ecore_x_window_show(zone->edge.top);
@ -946,7 +933,6 @@ static void
_e_zone_free(E_Zone *zone)
{
E_Container *con;
Eina_List *l;
Ecore_Animator *anim;
void *data;
int x, y;
@ -985,15 +971,7 @@ _e_zone_free(E_Zone *zone)
}
/* remove handlers */
for (l = zone->handlers; l; l = l->next)
{
Ecore_Event_Handler *h;
h = l->data;
ecore_event_handler_del(h);
}
eina_list_free(zone->handlers);
zone->handlers = NULL;
E_FREE_LIST(zone->handlers, ecore_event_handler_del);
con = zone->container;
if (zone->name) eina_stringshare_del(zone->name);